gpt4 book ai didi

elasticsearch - 如何在Elasticsearch中基于重复项的频率过滤结果

转载 作者:行者123 更新时间:2023-12-02 22:20:17 24 4
gpt4 key购买 nike

我有一个包含很多关键字的数组字段,我需要根据这些数组中特定关键字重复的次数对文档进行排序。
例如,如果我的字段名称是“国籍”,而对于文档1,则由以下内容组成
doc1
国籍:

["US","UK","Australia","India","US","US"]

和doc2
国籍:
["US","UK","US","US","US","China"]

我只希望显示“美国”一词出现3次以上的那些文件。那将只显示doc2。这该怎么做?

最佳答案

您可以使用脚本来实现此目的。

{
"query": {
"filtered": {
"filter": {
"script": {
"script": "_index['nationality']['US'].tf() > 3"
}
}
}
}
}

这里,在此脚本中,检查数组“国籍”中是否存在术语“US”,并且以tf(术语频率)进行计数。现在,结果中仅显示词频大于3的文档。您可以了解有关过滤器操作 here的更多信息

关于elasticsearch - 如何在Elasticsearch中基于重复项的频率过滤结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30949939/

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