gpt4 book ai didi

elasticsearch - 获取整个索引的总词频(Elasticsearch)

转载 作者:行者123 更新时间:2023-11-29 02:44:29 24 4
gpt4 key购买 nike

我正在尝试计算特定术语在整个索引中出现的总次数(术语收集频率)。我试图通过使用术语向量来做到这一点,但这仅限于单个文档。即使在特定文档中存在术语的情况下,响应似乎也会达到某个 doc_count(在 field_statistics 中),这让我怀疑它的准确性。

要求:

http://myip:9200/clinicaltrials/trial/AVmk-ky6XMskTDwIwpih/_termvectors?term_statistics=true

此处使用的文档 ID 是“AVmk-ky6XMskTDwIwpih”,尽管术语统计信息不应特定于文档。

响应:

这是我对其中一个领域的“癌症”一词的理解:

 "cancer" : {
"doc_freq" : 5297,
"ttf" : 10587,
"term_freq" : 1,
"tokens" : [
{
"position" : 15,
"start_offset" : 115,
"end_offset" : 121
}
]
},

如果我对所有字段的 ttf 求和,我得到 18915。但是,“癌症”的实际总词频实际上是 542829。这让我相信它将 term_vector 统计信息限制在文档的子集内索引。

如有任何建议,我们将不胜感激。

最佳答案

计数不同的原因是术语向量不准确,除非所讨论的索引具有单个分片。对于具有多个分片的索引,文档分布在所有分片中,因此返回的频率不是总数,而是来自随机选择的分片。

因此,返回的频率只是一个相对测量值,而不是您期望的绝对值。 see the Behaviour section .要对此进行测试,您可以创建单个分片索引并请求频率(它应该会为您提供实际总数)。

关于elasticsearch - 获取整个索引的总词频(Elasticsearch),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41711305/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com