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

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


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

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关推荐

  1. ES6 字符串方法

    2024-03-10 16:12:04       17 阅读
  2. Spring Boot: 为 JPA 插上翅膀 QueryDSL

    2024-03-10 16:12:04       10 阅读
  3. React使用 lodash-es throttle方法失效

    2024-03-10 16:12:04       13 阅读
  4. ES6Promise

    2024-03-10 16:12:04       43 阅读
  5. ES6Set

    2024-03-10 16:12:04       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-10 16:12:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-10 16:12:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-10 16:12:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-10 16:12:04       18 阅读

热门阅读

  1. IntelliJ IDEA分支svn

    2024-03-10 16:12:04       28 阅读
  2. Linux运维_Bash脚本_编译安装GTK+-3.24.41

    2024-03-10 16:12:04       24 阅读
  3. Windows中毒应急方式

    2024-03-10 16:12:04       17 阅读
  4. c#开发100问?

    2024-03-10 16:12:04       23 阅读
  5. 初识C语言—结构体

    2024-03-10 16:12:04       21 阅读
  6. 教你用Android Studio如何打jar包与aar包

    2024-03-10 16:12:04       18 阅读
  7. 【大厂AI课学习笔记NO.70】GitHub,GitLab,CODING等

    2024-03-10 16:12:04       18 阅读
  8. 如何使用CSS样式化滚动条

    2024-03-10 16:12:04       22 阅读