Как повысить поля в Solr
У меня уже есть буст, определенный перед раздачей. У меня есть поле в индексе Solr boost1
, Это поле будет иметь значение от 1 до 10, аналогичное рангу Google PR. Это повышение, которое должно применяться к каждому запросу, выполняемому в solr. вот поля в моем индексе
- Я бы
- заглавие
- Текст
- Boost1
Поле повышения должно применяться к каждому запросу. Я пытаюсь реализовать функциональность, аналогичную рангу Google PR. Есть ли способ сделать это с помощью Solr?
2 ответа
Вы можете добавить повышение во время запроса, например
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=boost1^0.5
Это можно добавить к значениям по умолчанию с помощью определения обработчика запросов, чтобы они применялись ко всем поисковым запросам.
Вы можете использовать функциональные запросы, чтобы варьировать степень наддува FunctionQuery
Я думаю, что вам нужно использовать индексное увеличение времени документа. Посмотрите это, если вы индексируете XML или это при использовании DataImportHandler
,