私はelasticsearchを初めて使用し、処理された各ドキュメント内の一致する用語の数を取得する方法に興味があります。スコアを取得できることはわかっていますが、各ドキュメントの一致数を取得したいのですが、可能ですか?
mguillerminの回答後に編集
私が探していたのは、インデックスをクエリし、同時に各ドキュメントの結果の tf を受け取ることであり、単に単一のドキュメントの用語頻度を見つけることではありません
ありがとう
私はelasticsearchを初めて使用し、処理された各ドキュメント内の一致する用語の数を取得する方法に興味があります。スコアを取得できることはわかっていますが、各ドキュメントの一致数を取得したいのですが、可能ですか?
mguillerminの回答後に編集
私が探していたのは、インデックスをクエリし、同時に各ドキュメントの結果の tf を受け取ることであり、単に単一のドキュメントの用語頻度を見つけることではありません
ありがとう
単一のドキュメントをチェックする場合、 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)"
}
]
}