Elastic Stack--04--ES中的检索方式、Query DSL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 1.ES中的检索方式
    • 第一种方式
        • [GET bank/_search # 检索bank下的所有信息,包括 type 和 docs](# 检索bank下的所有信息,包括 type 和 docs)
        • [GET bank/_search?q=*&sort=account_number:asc](#GET bank/_search?q=*&sort=account_number:asc)
    • 第二种方式
        • [GET bank/_search](#GET bank/_search)
  • [2.Query DSL](#2.Query DSL)
      • [2.1 基本语法](#2.1 基本语法)
      • [2.2 match](#2.2 match)
      • [2.3 match_phrase](#2.3 match_phrase)
      • [2.4 multi_match多字段匹配](#2.4 multi_match[多字段匹配])
      • [2.5 bool复合查询](#2.5 bool[复合查询])
      • [2.6 filter结果过滤](#2.6 filter[结果过滤])
      • [2.7 term](#2.7 term)

1.ES中的检索方式

在ElasticSearch中支持两种检索方式

  1. 通过使用REST request URL 发送检索参数(uri+检索参数)
  2. 通过使用 REST request body 来发送检索参数 (uri+请求体)

第一种方式

GET bank/_search # 检索bank下的所有信息,包括 type 和 docs
GET bank/_search?q=*&sort=account_number:asc

第二种方式

通过使用 REST request body 来反射检索参数 (uri+请求体)

GET bank/_search


2.Query DSL

2.1 基本语法

  ElasticSearch提供了一个可以执行的JSON风格的DSL(domain-specific language 领域特定语言),这个被称为Query DSL,该查询语言非常全面,并且刚开始的时候感觉有点复杂,真正学好它的方法就是从一些基础案例开始的。


2.2 match

  上面我们用到来的match_all是匹配所有的数据,而我们现在要讲的match是条件匹配

如果对应的字段是基本类型(非字符串类型),则是精确匹配。




2.3 match_phrase

将需要匹配的值当成一个整体单词(不分词)进行检索,短语匹配

2.4 multi_match多字段匹配


2.5 bool复合查询

布尔查询又叫组合查询,bool用来实现复合查询,

bool把各种其它查询通过 must(与)、must_not(非)、should(或)的方式进行组合

复合语句可以合并任何其他查询语句,包括复合语句也可以合并,了解这一点很重要,这意味着,复合语句之间可以相互嵌套,可以表达非常复杂的逻辑。


2.6 filter结果过滤

  并不是所有的查询都需要产生分数,特别是那些仅用于"filtering"的文档,为了不计算分数,ElasticSearch会自动检查场景并且优化查询的执行。


2.7 term

  和match一样,匹配某个属性的值,全文检索字段用match,其他非text字段匹配用term



相关推荐
成长之路51443 分钟前
【数据集】中国分行业进出口数据(2019-2026年)
大数据
计算机毕业编程指导师1 小时前
【大数据毕设选题推荐】基于Spark的WTA职业网球赛事演变与竞技格局分析系统源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·计算机·spark·毕业设计·课程设计·wta网球
躺柒2 小时前
读数据架构知识体系指南14数据编织
大数据·数据仓库·数据分析·数据湖·数据编织
专业程序开发源2 小时前
SSM校园拍摄交流服务平台36936-计算机课程设计、毕业设计
java·spring boot·后端·python·elasticsearch·php·课程设计
计算机毕业编程指导师3 小时前
大数据毕设怎么做?基于Hadoop的多源社交媒体心理健康情感分析与可视化系统从零到一指导 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·hadoop·计算机·数据分析·毕业设计·课程设计·媒体
计算机毕业设计杰瑞3 小时前
【最新原创大数据】基于大数据的酒店数据分析与可视化,附源码_高质量项目_可视化_数据分析_毕设选题推荐_SPark_Hadoop_毕设指导
大数据·信息可视化·数据挖掘·课程设计
计算机毕业编程指导师4 小时前
Python大数据毕设:基于Hadoop的病毒式社交媒体趋势和参与度分析系统怎么做 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习
大数据·hadoop·python·计算机·毕业设计·课程设计·社交媒体
计算机毕业编程指导师4 小时前
【计算机毕设选题推荐】基于Spark与Hadoop的AI就业收入区域差异分析系统 源码 毕业设计 选题推荐 毕设选题 数据分析 机器学习 深度学习
大数据·python·数据分析·spark·毕业设计·课程设计·ai就业收入
小猴子爱上树5 小时前
跨马翻译:批量图片翻译与视频字幕、智能抠图一站式在线图片翻译工具
大数据·人工智能·python·音视频
W***25925 小时前
2026 企业 AI 办公工具选型指南:能力评估与平台全景分析
大数据·人工智能