ES复杂操作-布尔值查询(多条件精确查询)

简介: ES复杂操作-布尔值查询(多条件精确查询)

布尔值查询(多条件精确查询)

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "must": [
        {
          "match": {
            "name": "魏"
          }
        },
        {
          "match": {
            "age": "23"
          }
        }
      ]
    }
  }
}

网络异常,图片无法展示
|

must命令

所有的条件都要符合,相当于mysql中的and

should命令

有的条件符合即可,相当于mysql中的or

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "should": [
        {
          "match": {
            "name": "魏"
          }
        },
        {
          "match": {
            "age": "23"
          }
        }
      ]
    }
  }
}

网络异常,图片无法展示
|

not命令

显示不满足条件的结果,类似mysql中的not!

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "must_not": [
        {
          "match": {
            "name": "魏"
          }
        },
        {
          "match": {
            "age": "23"
          }
        }
      ]
    }
  }
}

网络异常,图片无法展示
|

过滤器Filter区间判断

gt >

gte >=

lt <

lte <=

年纪大于10

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "must": [
        {
          "match": {
            "name": "魏"
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "gte": 10
          }
        }
      }
    }
  }
  , "_source": ["name","age"]
}

网络异常,图片无法展示
|

年纪小于15

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "must": [
        {
          "match": {
            "name": "魏"
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "lt": 15
          }
        }
      }
    }
  }
  , "_source": ["name","age"]
}

网络异常,图片无法展示
|

年纪在10-25直接的

GET /weiyihe/user/_search
{
  "query":{
    "bool": {
      "must": [
        {
          "match": {
            "name": "魏"
          }
        }
      ],
      "filter": {
        "range": {
          "age": {
            "lt": 25,
            "gt": 10
          }
        }
      }
    }
  }
  , "_source": ["name","age"]
}

网络异常,图片无法展示
|


相关文章
|
自然语言处理 索引
ES 匹配多个搜索条件和精确查询
ES 匹配多个搜索条件和精确查询
|
10天前
|
数据处理 项目管理
条件格式
【10月更文挑战第21天】条件格式
15 2
|
3月前
|
SQL 关系型数据库 MySQL
mysql不等于<>取特定值反向条件的时候字段有null值或空值读取不到数据
对于数据库开发的专业人士来说,理解NULL的特性并知道如何正确地在查询中处理它们是非常重要的。以上所介绍的技巧和实例可以帮助你更精准地执行数据库查询,并确保数据的完整性和准确性。在编写代码和设计数据库结构时,牢记这些细节将有助于你避免许多常见的错误,提高数据库应用的质量与性能。
105 0
|
5月前
|
SQL 安全 数据挖掘
Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的空值率?语法是怎么样的?
Elasticsearch聚合查询用于复杂数据分析,包括统计空值率。示例展示了如何计算字段`my_field`非空非零文档的百分比。查询分为三步:总文档数计数、符合条件文档数计数及计算百分比。聚合概念涵盖度量、桶和管道聚合。脚本在聚合中用于动态计算。常见聚合类型如`sum`、`avg`、`date_histogram`等。组合使用可实现多值统计、嵌套聚合和空值率计算。[阅读更多](https://zhangfeidezhu.com/?p=515)
294 0
Elasticsearch如何聚合查询多个统计值,如何嵌套聚合?并相互引用,统计索引中某一个字段的空值率?语法是怎么样的?
|
6月前
|
C#
C#动态查询:巧用Expression组合多条件表达式
在C#中,利用`Expression`类和`AndAlso`、`OrElse`方法,可以组合两个`Expression&lt;Func&lt;T, bool&gt;&gt;`以实现动态多条件查询。该方法通过构建表达式树,方便地构建复杂查询。示例代码展示了如何创建表达式树,分别检查年龄大于等于18和姓名为&quot;John&quot;的条件,并使用`AndAlso`组合这两个条件,最终编译为可执行的委托进行测试。
231 1
|
存储 Java API
ES多字段匹配查询时的权重控制
ES多字段匹配查询时的权重控制
817 0
ES多字段匹配查询时的权重控制
|
SQL JSON 数据格式
ES中如何实现空值和非空值的查询
ES中如何实现空值和非空值的查询
4688 0
ES复杂操作-精确查询多个值和高亮显示
ES复杂操作-精确查询多个值和高亮显示
|
关系型数据库 MySQL
字符串变量作mysql查询条件
字符串变量作mysql查询条件
126 0