Как правильно сделать сортировку в Elasticsearch
Есть продукция
name | price | company_id
товар 1 компании 1 | 10 | 1
товар 2 компании 1 | 10 | 1
товар 3 компании 1 | 20 | 1
товар 4 компании 2 | 10 | 2
товар 5 компании 2 | 10 | 2
товар 6 компании 2 | 20 | 2
товар 7 компании 3 | 10 | 3
товар 8 компании 3 | 10 | 3
товар 9 компании 3 | 20 | 3
Требуется отсортировать по цене и по id компании, но что бы компании чередовались
И получили такой результат
name | price | company_id
товар 1 компании 1 | 10 | 1
товар 4 компании 2 | 10 | 2
товар 7 компании 3 | 10 | 3
товар 2 компании 1 | 10 | 1
товар 5 компании 2 | 10 | 2
товар 8 компании 3 | 10 | 3
товар 3 компании 1 | 20 | 1
товар 6 компании 2 | 20 | 2
товар 9 компании 3 | 20 | 3
Не знаю как правильно загуглить, где можно прочитать про подобную сортировку?
Ответы (1 шт):
Судя по примеру это обычная сортировка по нескольким полям, когда вы сортируете по более чем одному полю, основная сортировка происходит по первому указанному полю, в вашем случае это цена, второе поле это id компании по которому сортировка будет производится только когда у документов в индексе одинаковое значение первого поля.
Вообще о сортировке в Elasticsearch можно почитать в документации -
https://www.elastic.co/guide/en/elasticsearch/reference/current/sort-search-results.html