ES:多值(in)查询和条件批量删除

Posted 摸鲨鱼的脚

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES:多值(in)查询和条件批量删除相关的知识,希望对你有一定的参考价值。

Elasticsearch 查询删除语句

单值查询

//根据bank_id字段查询8479的数据,并根据app_date字段筛选时间范围20221201-20221203的数据
GET /riskinfo/application/_search

  "query":
    "bool": 
      "must": [
        
          "match":  //单值查询,若多值查询换为terms,参考以下示例
            "bank_id": "8479"
          
        
      ],
      "filter": [
        
          "range": 
            "app_date": 
              "gte": 20221201,//大于等于 时间类型根据自己的字段类型定义
              "lte": 20221203//小于等于
            
          
        
      ]
    
  ,
  "_source":  //字段过多,只展示部分字段
    "includes": [
      "bank_id","app_date"
    ]
  

查询结果

多值查询

GET /riskinfo/application/_search

  "query":
    "bool": 
      "must": [
        
         "terms": 
           "bank_id": [
            "8479",
             "581"
           ]
         
        
      ],
      "filter": [
        
          "range": 
            "app_date": 
              "gte": 20221001,
              "lte": 20221003
            
          
        
      ]
    
  ,
  "_source": 
    "includes": [
      "bank_id","app_date"
    ]
  

查询结果

批量删除

多值批量查询结果如下

删除语句

POST /riskinfo/application/_delete_by_query

  "query":
    "bool": 
      "must": [
        
         "terms": 
           "bank_id": [
            "8479",
             "581"
           ]
         
        
      ],
      "filter": [
        
          "range": 
            "app_date": 
              "gte": 20221001,
              "lte": 20221003
            
          
        
      ]
    
  

删除结果如下

以上是关于ES:多值(in)查询和条件批量删除的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch在JavaAPI中的操作(入门)

elastic分页查询scroll

多值模糊查询报表的制作

springboo整合elasticSearch8 java client api

springboo整合elasticSearch8 java client api

es 批量查询,修改,删除,增加操作