我对弹性搜索很陌生,我对如何检索每个处理的文档中匹配词的数量很感兴趣。我知道我可以得到一个分数,但我希望得到每个文档的匹配数,这可能吗?
在 mguillermin 回答后编辑
我想要的是查询我的索引,并同时接收每个文档结果的 tf,而不是简单地找到单个文档的词频
谢谢
我对弹性搜索很陌生,我对如何检索每个处理的文档中匹配词的数量很感兴趣。我知道我可以得到一个分数,但我希望得到每个文档的匹配数,这可能吗?
在 mguillermin 回答后编辑
我想要的是查询我的索引,并同时接收每个文档结果的 tf,而不是简单地找到单个文档的词频
谢谢
要检查单个文档,您可以使用以下方法检索此类信息explain API
:http ://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)"
}
]
}