Я пытаюсь найти способ предотвратить появление нескольких сообщений в результатах поиска, которые принадлежат одному автору. До сих пор я пробовал случайный подсчет очков, что позволяет мне поддерживать разбивку на страницы. Тем не менее, у меня все еще может быть до 4 тех же авторов на данной странице из 10 результатов.Оценка распада Elasticsearch на основе возникновения
Есть ли способ зачислить документ, исходя из того, сколько раз определенное поле возникает в результирующем наборе? Насколько мне известно, вы не можете сохранить переменную или объект в сценарии подсчета очков.
Я рассмотрел несколько способов достижения этого, но многие из них имеют немало минусов. Например, удаление дубликатов и повторное вызов для получения нового набора результатов, которые исключены из списка авторов. Однако это может также вернуть несколько из тех же авторов. Поэтому я оставляю запрос один за другим, чтобы заменить дубликатов авторов в результирующем наборе, и это разбивает глубокую разбивку на страницы, потому что в конечном итоге другой результирующий набор, который используется для замены дубликатов, заканчивается страницами перед стандартным поиском. Я также попробовал агрегацию, которая не работает на странице.
Есть ли какая-либо функциональность для распространения или вычитания оценки документа на основе того, сколько раз происходит документ одного и того же автора (или поля)?
однако, я был бы очень рад, если вы обнаружили, как и разместил его здесь :) –
и кстати. в моем webapp я закончил работу над своим кодом Java, а затем вручную установил порядок сортировки. Поскольку вы используете ElasticSearch, а не Lucene/HSearch, это не сработает. –
Это был мой вопрос в тот же день: http://stackoverflow.com/questions/21528491/how-can-i-sort-in-a-round-robin-fashion-in-lucene –