如何解决如何通过弹性聚合获得总期限频率?
在搜索结果中,我想获取一个术语在返回的文档列表中显示的总次数。仅使用术语聚合,我只能得到文档数,但我想要的是整个集中出现的术语总数。
例如:
doc1:
Name: David
Tech: A1,A1,B1,C1
doc2:
Name: Josh
Tech: C1,D1,E1
doc3:
Name: David
Tech: A1,F1
当我在“名称”字段中搜索“大卫”时,通常会获得“技术”聚合,如下所示:
A1: 2
B1: 1
C1: 1
D1: 1
F1: 1
我希望显示结果:
A1: 3
B1: 2
C1: 1
D1: 1
F1: 1
反正我可以通过聚合来做到这一点吗?
谢谢!
解决方法
将字段设置为具有术语向量可以访问术语计数。
然后你可以查询任意数量的文档 id
会给你一个文档中的词条列表,其中包含文档中词条的出现次数和分片中词条的计数。如果您只有一个分片,那么您就很好,否则您可以估算所有分片的使用情况。
看到这个How to retrieve frequency of a term in elastic search using python?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。