2011-11-14 10 views
2

メーリングリスト、wiki、blogpostsなどを使用してLuceneのいくつかのスコアの正規化について調べています(今私はこれを行うことができません。私の問題は、スコアの正規化が私たちのプロジェクトに必要なものであるかどうかわからないからです。Luceneの検索結果の品質を調べる

背景: 私たちのプロジェクトでは、我々は、カスタムRequestHandlersとSearchComponentsとLuceneのの上のSolrを使用しています。特定のクエリでは、クエリの結果が悪いときにさまざまなアクションをトリガするタイミングを検出する必要があります。

仮定: Inmutableインデックス(一度インデックスを作成、それが更新されていない)と同じクエリtipology(ブースト機能なしの後押し同じフィールドでdismax qparser、またクエリを高めます)。

問題: スコアの正規化は実装できません。しかし、検索結果の品質が悪い場合、TF/IDFとブーストフィールドの仮定を使用して決定する方法はありますか?

例:私たちには、サイエンスペーパーやメディケアセンターの情報を持つインデックスがあります。最初のインデックスに対する場合には、ユーザーのクエリと悪い結果(スコアからそれを推測?)を持って、我々は2番目のインデックスを照会し、ある閾値(スコア閾値を?)を使用して、結果をマージしたい事前

答えて

1

ありがとうございますねほぼすべての類似性測定値が用語頻度に基づいているため、異なるクエリ間のスコアの正規化は意味をなさないということは当然である。

しかし、両方のインデックスに対して共同して計算されたIDFを使用するデフォルトの類似性をオーバーライドするだけであれば、記述しているこの非常に特殊なケースでスコアを比較することは可能だと思います。たとえば、すべてのドキュメントを1つのインデックスに保持し、余分な(ユーザーに表示されない)「タイプ」フィールドを追加することで、簡単に達成できます。次に、これらのクエリによって返された絶対値を比較できます。

一般的に、結果の数が非常に少ない場合やスコアの奇妙な分布など、一部の機能を調べることで低品質の結果を判断することは可能ですが、実際に問題を解決するとは思われません。これは、例えば、this paperで説明されている分離された検索結果のマージの問題に似ています。

関連する問題