0

私はsolrを使用していますが、結果の精度の問題を修正できません(アクセントを考慮したq vs bf)

私は2つのフィールドがインデックス化されたsolrインデックスを持っています(これは単純化されています):

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

問題は、Ferran のほうが人口が多いため、Félines のたびに勝つことです。どうすれば解決できますか? クエリのスコアを使用して、それを使用してbf人口のバランスをとる方法が見つかりませんでした

4

1 に答える 1

2

あなたは投稿しませんでしたが、フィールドschema.xmlに を使用していると思います。これは、Félines という単語をインデックス化する場合、次の用語がインデックス化された用語であることを意味します。ASCIIFoldingFilterFactorytown_ascii

town: Félines
town_ascii: Felines

townしたがって、フィールドの一致は の一致よりも重要であると言っていますtown_asciiqfパラメータを変更しqf=town^3 town_asciiて、フィールドにより大きな重みを与える必要がありtownます。town次に、と比較しての目的の重みが何であるかに応じて、重みを調整できますpopulation

于 2012-02-18T11:28:49.633 に答える