zoukankan      html  css  js  c++  java
  • elasticSearch(四)--结构化查询

    结构化查询

    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

      显示查询过程

      

     

     

  • 相关阅读:
    Codeforces Round #620 (Div. 2) A-F代码 (暂无记录题解)
    Educational Codeforces Round 82 (Rated for Div. 2) A-E代码(暂无记录题解)
    微信小程序项目踩过的几个坑
    人工智能入门
    2017,知识与财富
    Cesium中Clock控件及时间序列瓦片动态加载
    Cesium基础使用介绍
    geotrellis使用(三十五)Cesium加载geotrellis TMS瓦片
    PhiloGL学习(6)——深情奉献:快乐的一家
    PhiloGL学习(5)——神说要有光,便有了光
  • 原文地址:https://www.cnblogs.com/guanhao0114/p/14648685.html
Copyright © 2011-2022 走看看