结构化查询

1、请求体查询

  GET(POST) /_search

    POST /_search
    {
      "from": 30,
      "size": 10
    }

  
2、DSL

  使用结构化查询, 你需要传递 query 参数:

  

 3、合并多子句

  查询子句就像是搭积木一样, 可以合并简单的子句为一个复杂的查询语句, 比如:

  叶子子句(leaf clauses)(比如 match 子句)用以在将查询字符串与一个字段(或多字段)进行比较
  复合子句(compound)用以合并其他的子句。 例如, bool 子句允许你合并其他的合法子句, must , must_not 或者 should

  

 4、查询与过滤

  结构化查询( Query DSL) 和结构化过滤( Filter DSL) 。 查询与过滤语句非常相似, 但是它们由于使用目的不同而稍有差异

 5、最重要的查询过滤语句

  term过滤:主要用于精确匹配哪些值,如数字,布尔,日期,未进行分词的字符串

    

  terms过滤:与term类似,terms允许有多个匹配条件。

    

  range过滤:允许指定范围匹配。

    

   exists和missing过滤:exists 和 missing 过滤可以用于查找文档中是否包含指定字段或没有某个字段, 类似于SQL语句中的 IS_NULL 条件

    

   bool过滤:

    bool 过滤可以用来合并多个过滤条件查询结果的布尔逻辑, 它包含一下操作符:
    must :: 多个查询条件的完全匹配,相当于 and 。
    must_not :: 多个查询条件的相反匹配, 相当于 not 。
    should :: 至少有一个查询条件匹配, 相当于 or 。
    这些参数可以分别继承一个过滤条件或者一个过滤条件的数组:

    

   match_all查询:

    使用 match_all 可以查询到所有文档, 是没有查询条件下的默认语句

    

  match查询:

    match 查询是一个标准查询, 不管你需要全文本查询还是精确查询基本上都要用到它。如果你使用 match 查询一个全文本字段,

    它会在真正查询之前用分析器先分析 match 一下查询字符

    

    如果用 match 下指定了一个确切值, 在遇到数字, 日期, 布尔值或者 not_analyzed 的字符串时, 它将为你搜索你给定的值

    

  multi_match查询:

     multi_match 查询允许你做 match 查询的基础上同时搜索多个字段:
    

   bool查询:

      bool 查询与 bool 过滤相似, 用于合并多个查询子句。 不同的是, bool 过滤可以直接给出是否匹配成功, 而 bool 查询要计算每一个查询子句的 _score ( 相关性分值) 。
    must :: 查询指定文档一定要被包含。
    must_not :: 查询指定文档一定不要被包含。
    should :: 查询指定文档, 有则可以为文档相关性加分。

    

6、带过滤的查询语句

  

 7、验证查询

  /megacorp/_validate/query?explain

  显示查询过程

  

elasticSearch(四)--结构化查询的更多相关文章

  1. ElasticSearch(6)-结构化查询

    引用:ElasticSearch权威指南 一.请求体查询 请求体查询 简单查询语句(lite)是一种有效的命令行_adhoc_查询.但是,如果你想要善用搜索,你必须使用请求体查询(request bo ...

  2. ElasticSearch 5学习(10)——结构化查询(包括新特性)

    之前我们所有的查询都属于命令行查询,但是不利于复杂的查询,而且一般在项目开发中不使用命令行查询方式,只有在调试测试时使用简单命令行查询,但是,如果想要善用搜索,我们必须使用请求体查询(request ...

  3. ElasticSearch权威指南学习(结构化查询)

    请求体查询 简单查询语句(lite)是一种有效的命令行adhoc查询.但是,如果你想要善用搜索,你必须使用请求体查询(request body search)API. 空查询 我们以最简单的 sear ...

  4. ElasticSearch 基本概念 and 索引操作 and 文档操作 and 批量操作 and 结构化查询 and 过滤查询

    基本概念 索引: 类似于MySQL的表.索引的结构为全文搜索作准备,不存储原始的数据. 索引可以做分布式.每一个索引有一个或者多个分片 shard.每一个分片可以有多个副本 replica. 文档: ...

  5. elasticsearch结构化查询过滤语句-----4

    1.之前三节讲述的都是索引结构及内容填充的部分,既然添加了数据那我们的目的无非就是增产改查crudp,我先来讲讲查询-----结构化查询 我们看上图截图两种方式: 1)第一种,在索引index5类型s ...

  6. elasticsearch 深入 —— 结构化搜索

    结构化搜索 结构化搜索(Structured search) 是指有关探询那些具有内在结构数据的过程.比如日期.时间和数字都是结构化的:它们有精确的格式,我们可以对这些格式进行逻辑操作.比较常见的操作 ...

  7. SQL结构化查询语句

    SQL结构化查询语句 SQL定义了查询所有关系型数据库的规则. 1.通用语法 SQL语句可以单行或者多行书写,以分号结尾 可以使用空格和缩进增强可读性 不区分大小写,但是关键字建议大写 3种注释 注释 ...

  8. ElasticSearch常用结构化搜索

    最近,需要用到ES的一些常用的结构化搜索命令,因此,看了一些官方的文档,学习了一下.结构化查询指的是查询那些具有内在结构的数据,比如日期.时间.数字都是结构化的. 它们都有精确的格式,我们可以对这些数 ...

  9. Elasticsearch系列---结构化搜索

    概要 结构化搜索针对日期.时间.数字等结构化数据的搜索,它们有自己的格式,我们可以对它们进行范围,比较大小等逻辑操作,这些逻辑操作得到的结果非黑即白,要么符合条件在结果集里,要么不符合条件在结果集之外 ...

  10. (四) 结构化查询语言SQL——2

    3)ORDER BY排序语句 通常,查询的结果是以无序的方式显示的,有时需要将查询结果按照一定次序来进行排序.ORDER BY就可以用上了,例如查询课程号为202的课程成绩的所有信息,并按照成绩降序排 ...

随机推荐

  1. Mybatis-plus中通用mapper的CRUD(增、删、改、查)操作封装BaseMapper和IService(最详细)

    使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQL.而且,当数据库表结构改动时,对应的所有SQL以及 ...

  2. 2023.3.4Leecode982按位与为零的三元组

    题目的要求 给你一个整数数组 nums ,返回其中 按位与三元组 的数目. 按位与三元组 是由下标 (i, j, k) 组成的三元组,并满足下述全部条件: 0 <= i < nums.le ...

  3. Clion在一个cmake项目中运行多个main函数

    # 遍历项目根目录下所有的 .cpp 文件 file (GLOB files *.cpp */*.cpp) foreach (file ${files}) string(REGEX REPLACE & ...

  4. ERNIE1-2

    ERNIE1.0 ERNIE: Enhanced Representation through Knowledge Integration提出了三种级别的masking:(1)word piece级别 ...

  5. python实现Excel的表头与索引之间的转换

    字母转数字 def get_index(capital): """ 大写字母(Excel列头)转索引 :param capital: 'A' --> 0, 'AA' ...

  6. SAP HANA : CDS

    6.SAP HANA CDS 使用SAP HANA Core Data Services(CDS)在SAP HANA Extended Application Services中构建设计时数据持久性模 ...

  7. 跨域出现:XMLHttpRequest cannot load错误

    1.右击浏览器图标-->属性-->快捷方式-->目标栏添加--> --args --disable-web-security --user-data-dir 2.修改之后重新打 ...

  8. Rstudio 快捷键无法使用

    今天突然发现我的R studio 很多快捷键不能使用,后面发现是因为Rstudio 的快捷键与MobaXterm的快捷键起冲突了,后面关掉MobaXterm后就恢复了,如果有类似的问题可以在自己电脑打 ...

  9. vue-表格拖拽

    1. el-table结合sortable 参考:https://blog.csdn.net/weixin_42460570/article/details/125765599?ops_request ...

  10. FreeRdp(一):主要数据结构

    /** RDP连接实例 * 这是创建连接后的客户端选项 * 数据结构申请内存调用freerdp_new,释放为freerdp_free */ struct rdp_freerdp { ALIGN64 ...