Пузырьки новейшего контента в результатах поиска Lucene - PullRequest
1 голос
/ 24 декабря 2008

Я храню различные статьи в моем люценовом индексе. Когда пользователь ищет статьи, которые содержат определенный термин или фразу, мне нужно показать все эти статьи (может быть где-то между 1000 и 10000 статей), но с новыми статьями, «всплывающими» в результатах поиска.

Я полагаю, что вы можете добавить результаты поиска в Lucene, используя "Усиление поля даты". Может кто-нибудь, пожалуйста, дайте мне подробности, как это сделать?

Заранее спасибо!

Ответы [ 2 ]

3 голосов
/ 06 января 2009

Я бы реализовал интерфейс SortComparatorSource . Вы должны написать новую ScoreDocComparator , функция сравнения () которой сравнивает две даты. Затем вам нужно будет отсортировать результаты поиска, используя новый сортировщик. Этот совет взят из главы 6 Lucene in Action .

1 голос
/ 07 февраля 2009

Вы можете использовать метод setBoost , чтобы установить «повышение» для конкретного документа в индексе во время индекса. Поскольку значение повышения по умолчанию равно 1,0, установка значения меньше 1,0 сделает документ «менее релевантным» в результатах поиска. Привязав значение повышения документа к его возрасту (чем ниже повышение, тем старше документ становится), вы можете сделать более новый контент более релевантным в результатах поиска.

Обратите внимание в документации для setBoost, что значение повышения, установленное во время индексации, недоступно для извлеченных документов (повышение работает, вы просто не можете прочитать значение назад во время поиска, чтобы увидеть, применили ли вы правильное значение индекс времени).

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