Elasticsearch 6.2.3版本 filtered 报错问题 no [query] registered for [filtered]
2024-09-04 23:57:11
背景描述
近期在学习《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": ,
"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上执行截图如下:
最新文章
- Eclipse启动tomcat,http://localhost:8080/无法访问的解决方法
- JSContext
- static 修饰内部类
- C# 汉字转拼音
- IP地址查询接口
- HTML5+CSS3-机器猫
- SQL提高查询效益之in、not in、between、like等条件讲述
- css动画——transition和animation
- android Service简介及启动关闭方式
- Window Linux下实现指定目录内文件变更的监控方法
- 进程控制fork与vfork
- 但未在用户代码中进行处理 具有固定名称“Oracle.ManagedDataAccess.Client”的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载。
- c++extern关键字详解
- day10(闭包、import模块、函数命名空间)
- String.split()与StringUtils.split()
- 20190318wdVBA_替换下划线
- centos6.5 yum安装redis
- 菜鸟教程之工具使用(七)——从GIt上导出Maven项目
- c++实现循环队列
- Base64编码——学习笔记