2016-10-04 5 views
0

私は、ユニークなキーワードがある場合、インデックスのドキュメントに関連性​​を高める必要があるシナリオです。私はシナリオを提供しましょう。 その結果は成功しなかった znkdref znkdrefまたは成功しなかったまたはを持っていた内容を持っていますが、ここで私はznkdref成功しなかったを持っている内容を持っている必要があることをしたいのは、私がznkdref成功しなかった用語を検索する必要が言ってみましょうznkdrefのコンテンツの関連性が低く、コンテンツがである場合には、のコンテンツの関連性が最も低くなければなりません。ユニークなキーワードに基づいて関連性スコアを向上させる

これを達成する方法はありますか?私は助けを得ることをうれしく思うでしょう。

答えて

0

Query Time Boosting、特にPrioritized Clausesを使いたいと思います。

要するに、ブーストしたいキーワードを抽出し、必要な部分を強調するクエリを作成する必要があります。コメントをもとに

{ 
"query": { 
    "bool": { 
     "should": [{ 
      "match": { 
       "content": { 
        "query": "znkdref", 
        "boost": 2 
       } 
      } 
     }, 
     { 
     "match": { 
       "content": { 
        "query": "unsuccessfull"    
       } 
      } 
     }] 
    } 
} 
} 

更新:あなたはドキュメントがそれがなかったというのスコアを得た理由を知りたい場合は

として、あなたは、「説明」に渡すことができます(多分、「キーワード」を識別するために)またはルートPOSTペイロードに設定します。その結果は、文書の頻度カウントとサブスコアを持つようになりました。

+0

返信ありがとうございますが、これは私の必要性を説明していません。上記の状態は単なる例であり、Elasticsearchの主な質問はIDFの独自の特徴を持っています。同じ機能を活用することができます。検索するキーワードが何になるのかわからないからです。 Elasticsearchを使用して一意のキーワードを区別できますか? –

+0

私はそれが私には分かりませんでした。私は、私の答えを更新して、説明機能を使うことを脇に入れました。 –

0

"znkdref"は一意のキーワードですか?たとえば、 "znkdref"は何かの特別な名前です。もしそうなら。もちろん

  • 、文書は「成功しなかったznkdref」全体クエリ文字列は、一般的には最高の関連性スコアを持つことになります一致。
  • "znkdref"が含まれているドキュメントは、通常、 "unsuccessfull"が含まれているドキュメントよりも関連性スコアが高くなります。 「znkdref」のTF.IDFスコアがTF.IDFスコア「unsuccessfull」よりも大きいため。関連性スコア関数はhttps://www.elastic.co/guide/en/elasticsearch/guide/current/practical-scoring-function.html

    で説明されて

私は私の答えはあなたのために役に立つことを願っています。

関連する問題