Как акцент может быть более точным с BF и запросом с Solr

StackOverflow https://stackoverflow.com/questions/9339269

  •  27-10-2019
  •  | 
  •  

Вопрос

Я работаю с 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top