elasticsearch DSL查询

1、根据条件修改的命令示例:

POST test1/_update_by_query

{
  "query": {
    "term": {
      "phone": "12345678909"
    }
  } ,
  "script": {
    "source": "ctx._source['message'] = 'xuwujing'"
  }
}

2、根据条件删除数据的命令示例:
POST test/_delete_by_query

{
  "query": {
      "term": {
        "phone": "12345678909"
      }
  }
}

3、删除字段数据的命令示例:

POST test/_doc/_update_by_query

{
"script":{
"lang":"painless",
"inline":"ctx._source.remove(\"msgcode\")"
}
}

4、查询所有
GET _search

{   
  "query": {
    "match_all": {}
  }
}

5、等值(term)查询

GET test1/_doc/_search

{
  "query": {
    "term": {
      "phone": "12345678909"
    }
  }
}

6、一个字段匹配多个值
GET test1/_doc/_search

{
  "query": {
    "terms": {
       "uid": [ 
        1234, 
        12345, 
        123456
      ] 
    }
  }
}

7、范围(range )查询
GET test1/_doc/_search

{
  "query": {
   "range": { 
      "uid": { 
        "gt": 1234,
        "lte": 12345
      } 
    } 
  }
}

8、存在(exists)查询
GET test1/_doc/_search

{
  "query": {
   "exists": { 
       "field":"msgcode" 
    } 
  }
}

9、组合(bool)查询
bool 可以用来合并多个过滤条件查询结果的布尔逻辑,它包含这如下几个操作符:

must : 多个查询条件的完全匹配,相当于 and。
must_not ::多个查询条件的相反匹配,相当于 not。
should : 至少有一个查询条件匹配, 相当于 or。

GET /test1/_search

{
  "query": {
    "bool": {
      "must": {
        "term": {
          "phone": "12345678909"
        }
      },
      "must_not": {
        "term": {
          "uid": 12345
        }
      },
      "should": [
        {
          "term": {
            "uid": 1234
          }
        },
        {
          "term": {
            "uid": 123456
          }
        }
      ],
      "adjust_pure_negative": true,
      "boost": 1
    }
  }
}

10、模糊(wildcard)查询
GET /test1/_search

{
  "query": {
   "wildcard": { 
       "message":"*wu*" 
    } 
  }
}

11、正则(regexp)查询
GET /test1/_search

{
  "query": {
   "regexp": { 
       "message":"xu[0-9]" 
    } 
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值