Как акцент может быть более точным с BF и запросом с Solr
Вопрос
Я работаю с 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
Проблема в том, что Ферран бьет каждый раз, когда Фелины, потому что его население больше, как я могу решить это? Я не нашел, как использовать счет запроса и использовать его в bf
Чтобы уравновесить население
Решение
Вы не опубликовали свой 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
.