2017-10-20 10 views
0

SOLRバージョン4.3を使用すると、SOLRは一致する用語の割合を一致する用語の数よりも高く評価しているようです。SOLRと一致する単語の比率

たとえば、「Dog」という単語を検索し、「dog」という単語だけを含む文書を返します.3つの単語が返されます。私たちは何百もの単語を持つ別の記事を持っています。その中にdogという言葉が27回あります。

2番目の記事が最初に返されると思います。しかし、3単語中1単語のものが最初に戻ります。 SOLRが何をコントロールしているかを知りたいので、適切な修正を加えることができました。私はSOLRのドキュメントを見て、COORDが言及しているのを見ましたが、それは27の参考文献の記事が最初に戻るべきであることを示すようです。どんな助けもありがとう。

答えて

1

4.xの場合Solrはまだ採点式として通常のTF/IDFを使用していましたが、Luceneの実装detailed in the documentation for TFIDFSimilarityが表示されます。

あなたの質問のために

、スコアに影響を与える二つの要因がある:

フィールドの長さ、norm()で与えられる:

規範(T、D)(いくつかのインデックス作成時間をカプセル化)ブーストと長さの係数:

  • フィールドをドキュメントに追加する前にfield.setBoost()を呼び出して設定します。
  • lengthNorm - ドキュメント内のこのフィールドのトークン数に応じてドキュメントがインデックスに追加されたときに計算されるため、フィールドが短くなるほどスコアが高くなります。 LengthNormは、インデックス作成時に有効なSimilarityクラスによって計算されます。

..用語の数は(その周波数ではない)に一致しながらは、coord()によって与えられる。

COORD(Q、D)は、クエリの何に基づいてスコア因子であります用語は指定された文書にあります。通常、クエリの用語を多く含むドキュメントは、クエリの用語が少ない別のドキュメントよりも高いスコアを受け取ります。これは、検索時の類似性によってcoord(q、d)で計算された検索時間係数です。

はあなたの例では、文書a few settings in your schema that can affect how Solrスコアがあります。

omitNorms

trueの場合、このフィールドに関連付けられた規範を省略し(これはフィールドの長さの正規化を無効にし、保存しますいくつかのメモリ)

..これはスコアのnorm()部分を削除します。

omitTermFreqAndPositions

trueの場合は、このフィールドのポスティングから用語頻度、位置、およびペイロードを省略します。

..これにより、同じ用語の複数の出現からブーストが削除されます。これによりポジションも削除され、フレーズのクエリが不可能になることに注意してください。 6.xのデフォルトからだBM25の類似性は、通常、パフォーマンスが向上として

は、しかし、あなたはまた、Solrのアップグレードを検討すべきです。私はバージョンが4.3で利用可能かどうか覚えていません。

関連する問題