Есть ли способ вasticsearch для сортировки записей поля массива? - PullRequest
0 голосов
/ 27 февраля 2019

Скажем, у меня есть записи, которые имеют поле, представляющее собой массив строк с этими значениями

1) [A,B] 
2) [D,E,A]
3) [D,A,B]
4) [A,B,C]

Я бы ожидал, что документы / записи будут отсортированы как

1) [A,B]
2) [A,B,C]
3) [D,A,B]
4) [D,E,A]

1 Ответ

0 голосов
/ 27 февраля 2019

Первый вариант - убедиться, что ваш клиент индексирования выполняет сортировку массива до индексации документов.

Если это невозможно, второй вариант - обновить ваши документы используя скрипт, который бы правильно сортировал массивы:

POST your-index/_update_by_query
{
  "query": {
    "match_all": {}
  },
  "script": {
    "source": "Collections.sort(ctx._source.array)"
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...