gpt4 book ai didi

elasticsearch - 具有存在/缺失过滤器的elasticsearch脚本查询

转载 作者:行者123 更新时间:2023-12-03 01:02:51 25 4
gpt4 key购买 nike

我正在尝试使用查询过滤器运行脚本。
脚本应退回所有标题为gt 30的书:

GET books/_search
{
"filter" : {
"script" : {
"script" : "_source.title?.length() > 30"
}
}
}

这可行。

但是,如果我尝试添加一些过滤器,例如我想要所有没有“类型”字段的书:
GET book/_search
{
"filter" : {
"script" : {
"script" : "_source.title?.length() > 30"
},
"missing" : { "field" : "type" },
}
}

然后我得到错误:
nested: ElasticsearchParseException[Expected field name but got START_OBJECT \"exists\"]; }]

所以我可以使用脚本过滤器查询缺少的字段吗?

最佳答案

您处在正确的轨道上,只需要将两个过滤器组合成 bool/must query即可。

POST book/_search
{
"filter": {
"bool": {
"must": [
{
"script": {
"script": "_source.title?.length() > 30"
}
},
{
"missing": {
"field": "type"
}
}
]
}
}
}

关于elasticsearch - 具有存在/缺失过滤器的elasticsearch脚本查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35038581/

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