Solr Lucene - повысить релевантность на основе рейтинга от 0 до 5 звезд? - PullRequest
1 голос
/ 02 февраля 2011

Совершенно новый для Solr 1.4 - кажется, действительно очень мощный.Тем не менее, я застрял при попытке вернуть результаты поиска в порядке релевантности (оценка) и rating_value (рейтинг от 0 до 5 звезд для каждого результата).

Я пытался упорядочить результаты поиска по "rating desc,Score desc ", и хотя это работает, оно кажется немного базовым.

В конечном итоге я хотел бы повысить релевантность результата поиска на основе того, сколько звезд было оценено как (от 0 до 5).Поэтому 5-звездочный результат должен дать наибольший импульс.

Я попытался добавить 'rating_value: 1 ^ 0.1 rating_value: 2 ^ 0.2' и т. Д., И т. Д., Но это, похоже, значительно повышает ответы, которые не соответствуют ни одному ключевому слову, но имеют высокий рейтинг.

Любая помощь очень ценится!Спасибо, Себ

Ответы [ 2 ]

3 голосов
/ 02 февраля 2011

Вы на правильном пути, добавив термины «rating_value» со значениями повышения. Однако при создании запроса убедитесь, что ключевые слова являются терминами «ДОЛЖНЫ», что потребует, чтобы документ содержал этот термин для его возврата.

Оттуда вы можете играть с относительными значениями повышения для каждого члена. Если повышение рейтинга слишком велико, вы можете повысить ключевые слова, и наоборот. Важно знать, что абсолютные значения повышения не сопоставимы по полям, т. Е. Повышение ключевых слов до 20, а повышение рейтинга до 19 не будет означать, что ключевые слова будут повышены больше, в основном из-за нормализации длины. См. Сходство Lucene для получения дополнительной информации.

2 голосов
/ 17 июня 2011

Если вы используете обработчик запросов DISMAX, вам также следует рассмотреть возможность повышения с помощью поля bq (запрос повышения), так как это повышение влияет только на документы, которые уже соответствуют запросу пользователя.1004 * Вы бы предварительно задали поле bq в solrconfig.xml внутри обработчика запроса, например

<str name="bq">
  rating_value:1^0.1 rating_value:2^0.2
</str>
...