ES常用DSL的查询和简单统计

ES常用DSL的查询和简单统计DSL?英文全称DomainSpecificLanguage,解释为领域专用语言。DSL是针对某个特定领域而开发的语言,而我们平时接触到的C/C++,Java,Python/Ruby,都属于通用语言,DSL就是为了弥补这些通用语言而出现的。说到编程离不开最基础的CURDDSL也一样我们先说查询,直接上实例1.全检索GET索引名/_search{“quer…

大家好,欢迎来到IT知识分享网。ES常用DSL的查询和简单统计

DSL?
英文全称Domain Specific Language,解释为领域专用语言。

DSL是针对某个特定领域而开发的语言,而我们平时接触 到的C/C++,JavaPython/Ruby,
都属于通用语言,DSL就是为了弥补这些通用语言而出现的。

说到编程离不开最基础的CURD

DSL也一样

我们先说查询,直接上实例

1.全检索

GET 索引名/_search
{

  “query”: {

        {

          “match_all”: {}
        }  

    }
  }

}

2.根据条件检索

Bool查询现在包括四种子句,must,filter,should,must_not

must的两个条件都必须满足,should中的两个条件至少满足一个就可

#名字叫张三的所有人

GET 索引名/_search
{

  “query”: {

    “bool”: {

      “must”: [
        {

          “match_phrase”: {

            “name”: {

              “query”: “张三”
            }
          }
        }
      ]

    }
  }
 

}

 

#统计江苏省的所有城市

GET 索引名/_search
{

  “aggs”: {

    “2”: {

      “terms”: {

        “field”: “city”,
        “order”: {

          “_count”: “desc”
        },
        “size”: 100
      }
    }
  },
  “size”: 0
}

 

#大桶套小桶分级统计

GET 索引名/_search
{

  “aggs”: {

    “2”: {

      “terms”: {

        “field”: “city”,
        “order”: {

          “_count”: “desc”
        },
        “size”: 5
      },
      “aggs”: {

        “3”: {

          “terms”: {

            “field”: “county”,
            “order”: {

              “_count”: “desc”
            },
            “size”: 5
          },
          “aggs”: {

            “4”: {

              “terms”: {

                “field”: “garden”,
                “order”: {

                  “_count”: “desc”
                },
                “size”: 50
              }
            }
          }
        }
      }
    }
  },
  “size”: 0,
  “query”: {

    “bool”: {

      “must”: [
        {

          “match_phrase”: {

            “city”: {

              “query”: “九江”
            }
          }
        },
        {

          “match_phrase”: {

            “county”: {

              “query”: “建邺区”
            }
          }
        }
      ]
   

    }
  }
}

 

 

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/16076.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信