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



相关推荐
大霸王龙43 分钟前
软件工程的软件生命周期通常分为以下主要阶段
大数据·人工智能·旅游
点赋科技1 小时前
沙市区举办资本市场赋能培训会 点赋科技分享智能消费新实践
大数据·人工智能
YSGZJJ2 小时前
股指期货技术分析与短线操作方法介绍
大数据·人工智能
Doker 多克2 小时前
Flink CDC —部署模式
大数据·flink
Guheyunyi2 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
Channing Lewis3 小时前
如果科技足够发达,是否还需要维持自然系统(例如生物多样性)中那种‘冗余’和‘多样性’,还是可以只保留最优解?
大数据·人工智能·科技
禺垣3 小时前
区块链技术概述
大数据·人工智能·分布式·物联网·去中心化·区块链
IvanCodes4 小时前
七、Sqoop Job:简化与自动化数据迁移任务及免密执行
大数据·数据库·hadoop·sqoop
冬至喵喵6 小时前
【hive】函数集锦:窗口函数、列转行、日期函数
大数据·数据仓库·hive·hadoop