如何使用bf和使用solr查询可以更准确地重音

时间:2012-02-18 06:46:57

标签: solr scoring dismax

我与solr一起工作,我无法解决结果准确性的问题(q vs 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

麻烦的是Ferrand每次都在击败Félines,因为它的人口更多,我该如何解决?我没有找到如何使用查询的分数并在bf中使用它来平衡人口

1 个答案:

答案 0 :(得分:2)

您没有发布schema.xml,但我认为您正在ASCIIFoldingFilterFactory字段中使用town_ascii。这意味着如果您要为Félines一词编制索引,则以下是索引词:

town: Félines
town_ascii: Felines

因此,您说town字段的匹配比town_ascii的匹配更重要。您应该将qf参数更改为qf=town^3 town_ascii之类的内容,以便更加重视town字段。然后,您可以根据townpopulation相比所需的重量调整重量。