我正在启用“解释”标志的情况下进行 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/

10-13 02:32