es 多条件查询_ES构建queryBuilder条件查询

本文介绍了使用ES Java API进行各种查询操作,包括等值、范围、模糊、多条件、集合、should、must配合、有值及分页查询。通过构建QueryBuilder实现对ES索引的高效检索。
摘要由CSDN通过智能技术生成

09d9a83a18c399e8872eb74641125af9.png

1. maven配置2. 等值查询3. 范围查询4. 模糊查询5. 多条件查询6. 集合查询7. 使用should查询8. should和must配合查询9. 有值查询10. 分页查询

使用ES开发过程中多使用ES的javaAPI,通过javaAPI来对ES的索引进行操作,对ES的操作一般都是通过构建QueryBuilder对象来进行操作。下面介绍几种QueryBuilder的构建。

1. maven配置

maven依赖

   org.elasticsearch   elasticsearch   6.3.2   org.elasticsearch.client   transport   6.3.2

2. 等值查询

BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery()                .must(QueryBuilders.termQuery("name", "小李"));

查询name=小李的ES文档,等同于命令:

{
      "query": {
        "bool": {
          "adjust_pure_negative": true,      "must": [{
            "term": {
              "name": {
                "boost": 1.0,            "value": "小李"          }        }      }],      "boost": 1.0    }  }}

3. 范围查询

BoolQueryBuilder queryBuilder = QueryBuilders.rangeQuery("age")                                .gte(18)                                .lte(50);

查询年龄大于等于18,并且小于等于50的记录,等同于以下命令。

{
      "query": {
        "range": {
          "age": {
            "include_lower": true,        "include_upper": true,        "from": 18,        "boost": 1.0,        "to": 50      }    }  }}

4. 模糊查询

Bo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值