我正在启用“解释”标志的情况下进行 flex 搜索1.5.2查询。反向文档频率的输出为
{
"description": "idf(docFreq=2, maxDocs=56)",
"value": 3.9267395
}
我了解inverse document frequency背后的想法。如果我有100个文档,并且其中包含“rhododendron”一词,则
idf = num docs / num docs with term "rhododendron" = 100 / 1
但是,Elastic Search中的最大文档数从哪里来?我在documentation中什么都看不到。
最佳答案
缺省搜索类型是query_then_fetch
,其中术语和文档频率计算是索引中每个分片的本地。这就是您看到maxDocs=56
的原因,它可能是该碎片中的文档数量,而不是100
-索引中的文档总数。
用查询中的_search
替换_search?search_type=dfs_query_then_fetch
将使术语/文档频率的计算更加准确。可以在this elastic blog中找到更多详细信息
关于elasticsearch - 在Elastic Search的说明功能中了解MaxDocs,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30721198/