gpt4 book ai didi

Elasticsearch:按词频过滤(或查询)

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

如何运行 elasticsearch 查询,该查询仅返回包含在文档中至少提及 Y 次的术语 X 的结果?

例如,假设您在所有索引文档中都有一个页脚,上面写着类似 copyright 2013 的内容。假设当用户运行搜索词 copyright 时,您想要聪明地只显示那些说词 copyright 两次的文档(否则您将返回所有文档).我知道有多种方法可以实现这一点,但一种方法是运行一个过滤器,该过滤器仅返回那些两次使用版权术语的文档。是否存在这样的过滤器?

我可以设想这样的事情,但我没有在文档中看到任何类似的东西:

"filter" : {
"term" : { "user" : "copyright"},
"frequency" : { "gt" : 1 }
}

考虑到 Elasticsearch 存储词频,我希望这可以实现。

最佳答案

使用 script filter您可以在其中访问 term frequency copyright 字段 user 使用类似 _index['user']['copyright'].tf() 的内容:

{
"query": {
"filtered": {
"filter": {
"script": {
"script": "_index['name'][term_to_lookup].tf() > occurrences",
"params": {
"term_to_lookup": "copyright",
"occurrences": 1
}
}
}
}
}
}

关于Elasticsearch:按词频过滤(或查询),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30991248/

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