Как правильно повысить результаты в запросе Solr Dismax - PullRequest
4 голосов
/ 11 марта 2009

Мне удалось создать в Solr индекс, по которому я могу искать по ключевым словам, создавать фасеты, фасеты запросов и т. Д. Все это прекрасно работает. Я реализовал свой поиск с использованием запроса dismax, чтобы он выполнял поиск в предопределенных полях.

Однако мои результаты возвращаются, отсортированные по баллам, которые, по-видимому, рассчитываются только по релевантности ключевых слов. Я хотел бы настроить счет, где поля имеют заранее определенные значения. Я думаю, что я могу сделать это с запросами повышения и функциями повышения, но документация здесь:

http://wiki.apache.org/solr/DisMaxRequestHandler#head-6862070cf279d9a09bdab971309135c7aea22fb3

Не особенно полезно. Я попытался добавить добавление аргумента bq к своему поиску:

&bq=media:DVD^2

(да, это индекс фильмов!), Но я нахожу, когда начинаю добавлять все больше и больше:

&bq=media:DVD^2&bq=media:BLU-RAY^1.5

Я нахожу отрицательные результаты - например, фильмы, которые на DVD, но не BLU-RAY, негативно влияют на их счет. В конце концов, кажется, все выровнялось, и мой результат такой же, каким был до того, как я начал повышаться.

Я, должно быть, делаю это неправильно, и мне интересно, придет ли где-нибудь "функция повышения". Любые идеи о том, как правильно использовать boost?

Ответы [ 3 ]

6 голосов
/ 18 июня 2010

Уже немного поздно, и, похоже, у вас, вероятно, уже есть то, что вы ищете, но ...

Если вам интересно узнать о функциях boost (которые, судя по вашим желаемым результатам, думаю, вам следует), вам следует проверить аргумент bf вместо аргумента bq.

Попробуйте установить для аргумента bf значение

media:DVD^2 media:BLU-RAY^1.5

и я думаю, что это может достичь того, что вы хотите.

3 голосов
/ 06 июня 2009

Очевидно, что это нормально для фильмов, которые на DVD, но не BLU-RAY, негативно влияют на их счет. Это связано с тем, что чем больше ограничений вы добавляете, тем больше уменьшается значение queryNorm - и все оценки умножаются на это значение.

0 голосов
/ 04 мая 2009

Звучит так, как будто вам нужно применить усиление во время индекса, а не во время запроса. Поэтому, когда вы готовите документы для добавления в индекс, дайте тем, у кого DVD, повышение 2, а тем, что Blu-Ray, повышение 1,5.

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