Как сделать акцент более точным с помощью bf и запросить с помощью solr? - PullRequest
0 голосов
/ 18 февраля 2012

я работаю с solr, я не могу решить проблему точности результата (q против bf с учетом акцентов)

у меня есть индекс solr с индексированными 2 полями (это упрощено):

town, population
Félines, 100
Ferrand, 10000

когда я запрашиваю: q=Fé&qf=town town_ascii&bf=population^2&defType=dismax Я хотел бы этот заказ на мои результаты: Félines > Ferrand.

Когда я запрашиваю: q=Fe&qf=town town_ascii&bf=population^2&defType=dismax Я хотел бы, чтобы этот заказ был в моих результатах: Ferrand > Félines

Беда в том, что Ферран бьет каждый раз, когда Félines, потому что его население больше, как я могу решить это? Я не нашел, как использовать оценку запроса и использовать ее в bf, чтобы сбалансировать население

1 Ответ

2 голосов
/ 18 февраля 2012

Вы не опубликовали свой schema.xml, но я полагаю, вы используете ASCIIFoldingFilterFactory для поля town_ascii.Это означает, что если вы индексируете слово Félines, то следующие проиндексированные термины:

town: Félines
town_ascii: Felines

Следовательно, вы говорите, что совпадение для поля town важнее, чем совпадение для town_ascii.Вам следует изменить параметр qf на что-то вроде qf=town^3 town_ascii, чтобы придать больший вес полю town.Затем вы можете отрегулировать вес в зависимости от того, какой вес вам нужен для town по сравнению с population.

...