elasticsearch(es)查询api,结果集排序,分页,范围查询

Posted 好大的月亮

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch(es)查询api,结果集排序,分页,范围查询相关的知识,希望对你有一定的参考价值。

查询某个字段不等于空字符串,must_not反向查找,不等于匹配值的结果集

查询某个字段的值不等于空字符串

GET aunt/aunt_type/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "term": {
            "auntUserId": {
              "value": ""
            }
          }
        }
      ]
    }
  }
}

must_not反向查找,不等于匹配值的结果集

GET /test2/product/_search
{
  "query": {
    "bool": {
      "must_not": [
        {
          "match": {
            "age": 20
          }
        }
        ,{
          "match": {
            "name": "test11"
          }
        }
      ]
    }
  }
}

查询后按照某个字段排序

GET /test2/product/_search
{
  "query": {
    "match": {
      "name": "test"
    } 
  },
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ]
}

分页查询

GET /test2/product/_search
{
  "query": {
    
    "match": {
      "name": "test"
    }
    
  },
  "sort": [
    {
      "age": {
        "order": "desc"
      }
    }
  ],
  #从第几条开始
  "from": 0,
  #获取几条数据
  "size": 2
  #from + size其实就是limit from,size
  
}

多条件or查询,是否存在(返回boolean值)

GET /test2/product/_search
{
  "query": {
    "bool": {
    #must的两个条件都必须满足,即mysql中的and
    #should的两个条件至少满足一个就可以。即mysql中的or
      "must": [
        {
          "match": {
            "name": "test"
          }
        },
        {
          "match": {
            "age": 20
          }
        }
      ]
    }
  }
}

过滤(范围查询),符合条件的值查出来

GET /test2/product/_search
{
  "query": {
    "bool": {
    "must": [
        {
          "match": {
            "name": "test"
          }
        }
      ], 
      "filter": {
        "range": {
          "age": {
          #gte >=
          #lte <=
          #lt <
          #gt >
            "gte": 10,
            "lte": 19
          }
        }
      }
    }
  }
}

查询一个字段有多个值符合条件(in查询)

多个值用空格隔开

GET /test2/product/_search
{
  "query": {
    
    "match": {
      "name": "test 111111"
    }
    
  }
}

以上是关于elasticsearch(es)查询api,结果集排序,分页,范围查询的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch查询之——Search API

Elasticsearch掰开揉碎第12篇java操作ES常用API

elasticsearch基本查询笔记(三)-- es查询总结

Elasticsearch——使用Java API实现ES中的索引映射文档操作

Elasticsearch——使用Java API实现ES中的索引映射文档操作

ElasticSearch - SpringBoot整合ES:解析搜索返回字段