Как повысить рейтинг поискового текста в solr? - PullRequest
2 голосов
/ 13 марта 2012

Может ли любое тело помочь нам узнать, как увеличить точность точной фразы в solr?

Ответы [ 3 ]

2 голосов
/ 16 марта 2012

Если и только если вы используете dismax , вы можете просто установить параметр pf (Phrase Fields) . Он имеет тот же синтаксис, что и параметр qf : fieldName ^ boost

пример:

fieldOne^2.3 fieldTwo fieldThree^0.4

это повысит совпадение фраз в указанных полях, используя указанные повышения. Без значения повышения (как в fieldTwo) будет использоваться усиление по умолчанию, равное 1,0. Если вы используете pf , вам также следует взглянуть на параметр ps (Phrase Slop) , который указывает, как далеко могут находиться два слова, чтобы они по-прежнему считались «фразой» .

В любом случае, эта ссылка на DisMaxQParserPlugin должна помочь

1 голос
/ 13 марта 2012

Что вы можете сделать, это добавить ИЛИ к вашему запросу с точной фразой, а затем увеличить эту фразу. Например, ваш запрос может быть:

?q=(foo OR bar OR "foo bar"^10)

Результаты с "foo" или "bar" все равно будут найдены, но точная фраза будет увеличена.

На следующей странице есть полезная информация об этом, в том числе о том, как использовать парсеры запросов, отличные от стандартного парсера: http://solr.pl/en/2010/07/14/solr-and-phrasequery-phrase-bonus-in-query-stage/

Надеюсь, это поможет.

0 голосов
/ 13 марта 2012

На основе алгоритма LCS точное совпадение полной строки запроса должно автоматически оцениваться выше по сравнению с другими совпадениями. Я думаю, что это должно быть поведение по умолчанию. Есть концепция повышения и все в Solr, но я не думаю, что это потребуется в этом сценарии.

...