2017-05-22 10 views
2

私はElasticsearch 5.3.1を使用しています。私はBM25とClassic TF/IDFを評価しています。 私はオプションのdiscount_overlapsプロパティを見つけました。弾性の類似性discount_overlaps

ノルムを計算するときにオーバーラップトークン(0の位置増分を持つトークン) を無視するかどうかを指定します。デフォルトではこれは真です。すなわち、ノルムを計算するときに 重複トークンがカウントされません。

可能であれば、例として上記の意味を説明することができます。

答えて

2

まず、ノルムはboost/√lengthと計算され、この値はインデックス時に格納されます。これにより、短いフィールドのマッチングがより高いスコアを得る(なぜなら、1の10が一般に1000の1より良いマッチングであるからである)。

例として、私たちのアナライザーに同義語フィルタがあり、これは私たちのフィールドのインデックス付き形式の同義語の束をインデックスしているとしましょう。その後、我々はインデックスこのテキスト:我々が検索したときに今 post-analysis graph

男はアナライザは、フィールドにすべての同義語を追加したら、それはこのようになりますフリスビー

を投げました"男はディスクを投げた"、我々は試合を得るでしょう。

質問は、上記のノルム計算の目的のために、長さは何ですか?

  • discount_overlaps = falseの場合、長さ= 12
  • discount_overlapsかの場合= trueの場合、長さ= 5
+1

はあなたの助けをありがとう!私はこれについてもっと読むことができるようにリンクがありますか?私はそれも本の一部であれば(私はそれを購入することができます) – alkis

+0

長さの値を見つけるためのクエリはありますか? –

関連する問題