zoukankan      html  css  js  c++  java
  • Elasticsearch布尔查询——bool

    布尔查询允许我们利用布尔逻辑将较小的查询组合成较大的查询。

    1、查询返回包含“mill”和“lane”的所有的账户

    curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
            {
              "query": {
                "bool": {
                  "must": [
                    { "match": { "address": "mill" } },
                    { "match": { "address": "lane" } }
                  ]
                }
              }
            }'

      在上面的例子中,bool must语句指明了,对于一个文档,所有的查询都必须为真,这个文档才能够匹配成功。

    2、查询返回地址中包含“mill”或者“lane”的所有的账户

    curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
            {
              "query": {
                "bool": {
                  "should": [
                    { "match": { "address": "mill" } },
                    { "match": { "address": "lane" } }
                  ]
                }
              }
            }'

      在上面的例子中,bool should语句指明,对于一个文档,查询列表中,只要有一个查询匹配,那么这个文档就被看成是匹配的。

    3、查询返回地址中既不包含“mill”,同时也不包含“lane”的所有的账户

    curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
            {
              "query": {
                "bool": {
                  "must_not": [
                    { "match": { "address": "mill" } },
                    { "match": { "address": "lane" } }
                  ]
                }
              }
            }'

      在上面的例子中, bool must_not语句指明,对于一个文档,查询列表中的的所有查询都必须都不为真,这个文档才被认为是匹配的。

      我们可以在一个bool查询里一起使用must、should、must_not。此外,我们可以将bool查询放到这样的bool语句中来模拟复杂的、多等级的布尔逻辑。

      下面这个例子返回40岁以上并且不生活在ID(daho)的人的账户:

    curl -XPOST 'localhost:9200/bank/_search?pretty' -d '
            {
              "query": {
                "bool": {
                  "must": [
                    { "match": { "age": "40" } }
                  ],
                  "must_not": [
                    { "match": { "state": "ID" } }
                  ]
                }
              }
            }'
  • 相关阅读:
    EL表达式
    JavaBean知识
    设计模型MVC和JavaBean
    JSP知识
    会话技术
    Servlet知识
    selenium+maven+testng+IDEA+git+jenkins自动化测试环境搭建(三)
    selenium+maven+testng+IDEA+git自动化测试环境搭建(二)
    selenium+testng+testng-xslt-1.1.2之报告完善
    selenium入门环境之浏览器问题
  • 原文地址:https://www.cnblogs.com/hcy-fly/p/7986893.html
Copyright © 2011-2022 走看看