Elasticsearch 6.2.3版本 filtered 报错问题 no [query] registered for [filtered]
背景描述
近期在学习《Elasticsearch 权威指南》上的一些基本命令,在操作到 filtered 进行过滤查询的时候,报错 “no [query] registered for [filtered]”。
1)查询语句如下:
GET _search { "query":{ "filtered":{ "filter":{ "range":{ "age":{ "gt":30 } } }, "query":{ "match":{ "last_name":"smith" } } } } }
2)报错信息如下:
{ "error": { "root_cause": [ { "type": "parsing_exception", "reason": "no [query] registered for [filtered]", "line": 3, "col": 20 } ], "type": "parsing_exception", "reason": "no [query] registered for [filtered]", "line": 3, "col": 20 }, "status": 400 }
3)Kibana 的 Dev Tools 执行截图如下:
原因分析
Elasticsearch 在 5.0版本后,将 filtered 替换成了bool。
解决方案
1)正确的过滤查询语句如下:
GET _search { "query" : { "bool" : { "filter" : { "range" : { "age" : { "gt" : 30 } } }, "must" : { "match" : { "last_name" : "Smith" } } } } }
2)Kibana 的 Dev Tools上执行截图如下:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)