elasticsearch-es search 查询

  • elasticsearch-es search 搜索

    • 准备
    • 基于url
    • 基于请求主体 query DSL
    • filter过滤器 DSL
    • term精确查询
    • match 查询
      • bool查询
      • 词组查询
    • 组合查询或复合查询

准备

准备数据:

POST /user/_doc/1
{"name": "小明","age": 12,"birth": "2020-12-11"
}POST /user/_doc/2
{"name": "小西","age": 25,"birth": "2020-07-11"
}POST /user/_doc/3
{"name": "大明","age": 120,"birth": "2020-05-10"
}

基于url


POST /user/_search?q=name:'小明'//排序
POST /user/_search?q=name:'明'&sort=birth:asc//_source指定返回字段
POST /user/_search?q=name:'小明'&_source=name,age//分页
POST /user/_search?from=0&size=2

基于请求主体 query DSL

POST /user/_search
{"query": {"match_all": {}}
}//分页
POST /user/_search
{"query": {"match_all": {}},"from": 1,"size": 2
}//指定返回字段
POST /user/_search
{"query": {"match_all": {}},"_source": ["name", "age"]
}//排序
POST /user/_search
{"query": {"match_all": {}},"sort": [{"birth": {"order": "desc"},"age": {"order": "desc"}}]
}

filter过滤器 DSL

POST /user/_search
{"query": {"bool": {"filter": [{"term": {"name.keyword": "大明"}}]}}
}

term精确查询

精确查询,通常用于对keyword和有精确值的字段进行查询,不会对进行查询的文本进行分词操作


POST /user/_search
{"query": {"term": {"name": {"value": "小明"}}}
}//对比前一种, 前一种可以查询不到结果
POST /user/_search
{"query": {"term": {"name.keyword": {"value": "小明"}}}
}// terms 查询多个词条
POST /user/_search
{"query": {"terms": {"name": ["小明", "小西"]}}
}

match 查询

全文搜索, 通常用于对text类型字段的查询,会对进行查询的文本先进行分词操作

bool查询

POST /user/_search
{"query": {"match": {"name": {"query": "小明 hello","operator": "and"}}}
}

如果直接搜索 小明 hello, elasticsearch 会搜索小明 OR hello,不过修改 operator 后,会匹配同时存在这两个词的结果

词组查询

和查询词一致才返回结果


POST /user/_search
{"query": {"match_phrase": {"name": "小明"}}
}

组合查询或复合查询

POST /user/_search
{"query": {"bool": {"must": [{"term": {"name.keyword": {"value": "大明"}}}],"should": [{"range": {"age": {"gte": 10,"lte": 200}}}]}}
}

elasticsearch-es search 查询相关推荐

  1. elasticsearch(es)高级查询api

    yml配置 #es配置 spring:elasticsearch:rest:uris: 192.168.16.188:9200 添加依赖 <dependency><groupId&g ...

  2. ES(Elasticsearch)基本查询总结(含docker安装,python操作)

    全栈工程师开发手册 (作者:栾鹏) 架构系列文章 官网:https://www.elastic.co/guide/index.html 搜索语法:https://www.elastic.co/guid ...

  3. ELK——ElasticSearch(ES) LogStash Kibana 范围查询 经纬度

    Spring Boot 搭建 ELK,这才是正确看日志的方式! ES地理边界聚合官网 ES API官网 一.快速入门实战 二.核心语法集群高可用实战演练 三.集群架构原理与搜索技术深入 四.底层原理与 ...

  4. java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制。

    java使用ElasticSearch的scroll查询,高效的解决es查询数量的限制. 一.为什么要使用ES的scroll (1)首先我们要明白es的查询机制:ES的搜索是分2个阶段进行的,即Que ...

  5. es java match_java操作elasticsearch实现条件查询(match、multiMatch、term、terms、reange)...

    1.条件match query查询 //条件查询match query @Testpublic void test10() throwsUnknownHostException {//1.指定es集群 ...

  6. Elasticsearch(es) 查询语句语法详解

    Elasticsearch 查询语句采用基于 RESTful 风格的接口封装成 JSON 格式的对象,称之为 Query DSL.Elasticsearch 查询分类大致分为全文查询.词项查询.复合查 ...

  7. Elasticsearch 实战 - 第四讲:ES 高级查询

    Elasticsearch 实战 - 第四讲:ES 高级查询 Elasticsearch 实战系列文章: 一.高级查询 1.简介 2.结果排序 3.分页查询 4.检索查询 5.关键字查询 6.高亮显示 ...

  8. es java 模糊查询_java使用elasticsearch进行模糊查询-已在项目中实际应用

    java使用elasticsearch进行模糊查询 使用环境上篇文章本人已书写过,需要maven坐标,ES连接工具类的请看上一篇文章,以下是内容是笔者在真实项目中运用总结而产生,并写的是主要方法和思路 ...

  9. 【ES笔记02】ElasticSearch数据库之查询操作(match、must、must_not、should、_source、filter、range、exists、ids、term、terms)

    这篇文章,主要介绍ElasticSearch数据库之查询操作(match.must.must_not.should._source.filter.range.exists.ids.term.terms ...

  10. elasticsearch java api查询

    /** * 系统环境: vm12 下的centos 7.2 * 当前安装版本: elasticsearch-2.4.0.tar.gz */ QueryBuilder 是es中提供的一个查询接口, 可以 ...

最新文章

  1. 静态call 动态call LINK
  2. history.back(-1)和history.go(-1)的区别
  3. .NET Core 迁移躺坑记续集--Win下莫名其妙的超时
  4. activity与service 使用Handler Messenger数据传递
  5. python中lowerright_python字符串,从入门到高阶看这篇就够了
  6. 安卓安装kali linux之Termux
  7. ca 手机抓包_手机 https 抓包---Charles篇
  8. 科技感html页面源码,科技感十足的403html模板动态源码
  9. python十六进制转为二进制_Python进制转换(二进制、十进制和十六进制)
  10. CoDeSys开发经验总结
  11. 回顾一年的工作历程_但回首这一年来的工作经历
  12. 车牌识别分割定位_解析车牌识别系统有什么优势?
  13. 《明日方舟》游戏分析
  14. Linux软件的安装
  15. 小猫踢足球-第14届蓝桥杯STEMA测评Scratch真题精选
  16. 基于matlab的多路BPSK调制—为什么采样率=码元速率x一个码元周期内对码元的采样点数
  17. JMeter学习(四)使用JMeter的HTTP代理服务器实现抓包功能
  18. 练习-编写求阶乘函数
  19. 实例:时间事件日志分析
  20. android应用商店升级标准,Android 跳转应用市场更新及评分

热门文章

  1. esim卡与ms卡的区别_什么是eSIM,它与SIM卡有何不同?
  2. 计算机在线修改相片,全国普通计算机等级考试照片尺寸 在线调整的方法
  3. Python技术项目实践
  4. 前端后端路径斜杆问题
  5. 基于Python爬取福建省莆田市天气预报数据获取与预处理的设计与实现
  6. 用VUE实现注册页(短信验证码登录)
  7. vscode的seting配置
  8. 虚拟地址,虚拟地址空间, 交换分区
  9. 关于Java中的引用的用法
  10. 我为何一直强调外包公司别去