Как повысить поля в Solr - PullRequest
       82

Как повысить поля в Solr

7 голосов
/ 09 октября 2011

У меня уже есть усиление, определенное до руки. У меня есть поле в индексе solr, которое называется boost1. Это поле будет иметь значение от 1 до 10, аналогичное рангу Google PR. Это повышение, которое должно применяться к каждому запросу, выполняемому в solr. вот поля в моем индексе

  • Id
  • Название
  • Текст
  • Boost1

Поле повышения должно применяться к каждому запросу. Я пытаюсь реализовать функциональность, аналогичную рангу Google PR. Есть ли способ сделать это с помощью Solr?

Ответы [ 2 ]

11 голосов
/ 09 октября 2011

Вы можете добавить повышение во время запроса, например,

q={!boost b=boost1}

How_can_I_boost_the_score_of_newer_documents

Тем не менее, это может потребоваться добавить вами явно.

Если вы используете dismax или edismax с обработчиком запроса, параметр bf (Boost Functions) можно использовать для ускорения документов. http://wiki.apache.org/solr/DisMaxQParserPlugin#bf_.28Boost_Functions.29

bf=boost1^0.5

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

Вы можете использовать функциональные запросы для изменения уровня усиления FunctionQuery

0 голосов
/ 09 октября 2011

Я думаю, вам нужно использовать индексное время повышения документа . См. this , если вы индексируете XML, или this , если используете DataImportHandler.

.
...