ранжирование с помощью существующего поля - PullRequest
0 голосов
/ 08 января 2019

Я загружаю данные Solr из базы данных mysql с помощью DataImportHandler. Каждый документ содержит поле popularity (тип int), которое рассчитывается из другого приложения и сохраняется в mysql (это поле основано на некоторых правилах, относящихся к домену приложения).

Как я могу использовать это значение для улучшения рейтинга Solr? Правильно ли будет sum solr score со значением popularity? Как здесь можно использовать bf ?

1 Ответ

0 голосов
/ 08 января 2019

Хорошей отправной точкой, которая, вероятно, сработает, является умножение оценки на сублинейную функцию, которая (медленно) увеличивается с ростом популярности. Например,

newScore = score * log(1 + 0.5 * popularity)

Чтобы применить это повышение, вы должны использовать анализатор запросов Solr * и передать параметр повышения со следующим значением:

&boost=log(sum(1, product(0.5, popularity)))

где популярность - это название поля. Вам не нужно использовать параметр bf, так как вы должны использовать мультипликативный буст, а не аддитивный.

Причиной добавления 1 является обработка случая, в котором popularity=0 (поэтому, если популярность каждого документа всегда равна по крайней мере 1, вам не нужно добавлять 1). Сила эффекта популярности может быть увеличена или уменьшена путем изменения коэффициента 0,5 на некоторое другое значение. Например, вы можете использовать коэффициент 2 для увеличения эффекта:

newScore = score * log(1 + 2 * popularity)

Хороший фактор, вероятно, равен 9 / m, где m - это то, что, как вы ожидаете, должно быть средней популярностью, поскольку в этом случае увеличение "медианного документа" (медиана в том смысле, что его популярность равна m ) будет равен 1 (то есть его оценка вообще не будет повышена).

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

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