背景描述

近期在学习《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上执行截图如下:

最新文章

  1. Eclipse启动tomcat,http://localhost:8080/无法访问的解决方法
  2. JSContext
  3. static 修饰内部类
  4. C# 汉字转拼音
  5. IP地址查询接口
  6. HTML5+CSS3-机器猫
  7. SQL提高查询效益之in、not in、between、like等条件讲述
  8. css动画——transition和animation
  9. android Service简介及启动关闭方式
  10. Window Linux下实现指定目录内文件变更的监控方法
  11. 进程控制fork与vfork
  12. 但未在用户代码中进行处理 具有固定名称“Oracle.ManagedDataAccess.Client”的 ADO.NET 提供程序未在计算机或应用程序配置文件中注册或无法加载。
  13. c++extern关键字详解
  14. day10(闭包、import模块、函数命名空间)
  15. String.split()与StringUtils.split()
  16. 20190318wdVBA_替换下划线
  17. centos6.5 yum安装redis
  18. 菜鸟教程之工具使用(七)——从GIt上导出Maven项目
  19. c++实现循环队列
  20. Base64编码——学习笔记

热门文章

  1. Dubble 01 架构模型&start project
  2. Thumbnailator 缩略图
  3. Aspect表达式
  4. Python可迭代序列反转总结
  5. buuctf@[OGeek2019]babyrop
  6. SpringBoot项目构建、测试、热部署、配置原理、执行流程
  7. vue 绑定class、v-bind:style(对象语法、数组语法)
  8. chr ord 去重
  9. json从后台接收时转化格式
  10. redis 短信验证码