0

我使用 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用于平衡人口

4

1 回答 1

2

您没有发布您的schema.xml,但我想您正在使用ASCIIFoldingFilterFactorytown_ascii字段。这意味着,如果您要为 Félines 这个词编制索引,则以下是索引项:

town: Félines
town_ascii: Felines

因此,您是说该town字段的匹配比 . 的匹配更重要town_ascii。您应该将qf参数更改为类似qf=town^3 town_ascii赋予该town字段更多权重的参数。town然后,您可以根据与 相比所需的重量来调整重量population

于 2012-02-18T11:28:49.633 回答