我使用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
相比所需的权重来调整权重。