2

私はelasticsearchを初めて使用し、処理された各ドキュメント内の一致する用語の数を取得する方法に興味があります。スコアを取得できることはわかっていますが、各ドキュメントの一致数を取得したいのですが、可能ですか?

mguillerminの回答後に編集

私が探していたのは、インデックスをクエリし、同時に各ドキュメントの結果の tf を受け取ることであり、単に単一のドキュメントの用語頻度を見つけることではありません

ありがとう

4

1 に答える 1

4

単一のドキュメントをチェックする場合、 httpexplain API : //www.elasticsearch.org/guide/reference/api/explain/を使用してこの種の情報を取得できます。

この情報をクエリ結果とともに収集する必要がある場合は、"explain": trueに送信される本文に を追加するだけ_searchです。元 :

{
    "explain": true,
    "query": {
        "term": {
           "description": "test"
        }
    }
}

このパラメーターを使用するとhit、関連付けられた_explanationデータごとに取得されます。元 :

"_explanation": {
   "value": 1.4845161,
   "description": "fieldWeight(description:test in 63), product of:",
   "details": [
      {
         "value": 1,
         "description": "tf(termFreq(description:test)=1)"
      },
      {
         "value": 5.9380646,
         "description": "idf(docFreq=23, maxDocs=3348)"
      },
      {
         "value": 0.25,
         "description": "fieldNorm(field=description, doc=63)"
      }
   ]
}
于 2013-05-13T11:42:07.260 に答える