Сортировать результаты по «есть элемент в массиве» - PullRequest
0 голосов
/ 27 апреля 2018

У меня есть набор данных, который включает в каждый документ массив идентификаторов пользователей, которые помечают документ как «предпочтительный». Я хочу иметь возможность сортировать свои документы так, чтобы эти предпочтительные документы отображались первыми, а не перед другими документами.

Итак, как я могу отсортировать набор результатов по «массиву содержит X», где X - это заданный идентификатор пользователя? Я все еще хочу включить все результаты, но отсортировать результаты, содержащие соответствующий идентификатор пользователя, в верхнюю часть.

1 Ответ

0 голосов
/ 27 апреля 2018

Проверьте функцию script_score, которая позволяет изменять ранжирование на основе пользовательского сценария. Ваш пользовательский скрипт может повысить документы, которые связаны с текущим пользователем. Смотри https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...