Как повысить поля в 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,

Другие вопросы по тегам