Мне удалось создать в 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?