您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Elasticsearch Bool过滤器用于数组同一元素上的多个条件

Elasticsearch Bool过滤器用于数组同一元素上的多个条件

您需要像下面这样设置arr字段的类型nested

{
    "your_type": {
        "properties": {
            "arr": {
                "type": "nested",
                "properties": {
                    "f1": {"type":"string"},
                    "f2": {"type":"boolean"}
                }
            }
        }
    }
}

然后,您需要使用nested查询

{
    "nested" : {
        "path" : "arr",
        "query" : {
            "bool" : {
                "must" : [
                    {
                        "term" : {"arr.f1" : "a"}
                    },
                    {
                        "term" : {"arr.f2" : true}
                    }
                ]
            }
        }
    }
}

您的exists过滤器需要指定完整的字段路径

"filter" : {
       "nested" : {"path" : "arr", "filter" : {"exists" : { "field" : "arr.f1" } }}
}
其他 2022/1/1 18:16:47 有409人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶