Elasticsearch Explain API中N值远大于实际文档数的问题
Elasticsearch中IDF计算的N值与实际总文档数不符的原因
我尝试使用explain:true子句分析搜索结果的评分机制,发现idf计算结果如下:
{ "value": 6.660968, "description": "idf, computed as log(1 + (N - n + 0.5) / (n + 0.5)) from:", "details": [ { "value": 37, "description": "n, number of documents containing term", "details": [] }, { "value": 29298, "description": "N, total number of documents with field", "details": [] } ] },
问题在于我的集群中绝对没有29298个文档。通过以下命令确认,实际仅存在983个文档:
curl 'https://xxxxxx/_cat/count?v=true' epoch timestamp count 1677353551 19:32:31 983
根据IDF的定义,N应为总文档数。此外,集群中已删除的文档数量极少:
curl 'https://xxx/_cat/indices?v=true' health status index uuid pri rep docs.count docs.deleted store.size pri.store.size green open en-us kYD_PY9mRNm9wWsVYtNl8w 3 2 12 5 520.3kb 173.4kb green open ds-en-us OmhX5FMgRTqOCXQEZUP0fA 3 2 141 32 4mb 1.3mb green open .kibana_1 bxMRa2KEQc2Scl3r9dUsfQ 1 1 1 0 10kb 5kb green open en-gb Ao6rToHPRmmx9LJx3HI0LQ 3 2 73 13 1.3mb 336.6kb green open ds-en-gb SOhhP4-kQ9iK8niSI_paOg 3 1 753 34 817.5mb 13.5mb
有人知道这一异常情况的原因吗?感谢解答!
内容的提问来源于stack exchange,提问作者codeedoc
相关产品推荐
相关产品推荐

