ElasticSearch最佳入门实践(四十九)各种query搜索语法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_33746789/article/details/84029418

1、match all

查询所有

GET /_search
{
    "query": {
        "match_all": {}
    }
}

2、match

匹配某一个filed是否包含文本

GET /_search
{
    "query": { "match": { "title": "my elasticsearch article" }}
}

3、multi match

可以把搜索到的文本放到多个field上去

GET /test_index/test_type/_search
{
  "query": {
    "multi_match": {
      "query": "test",
      "fields": ["test_field", "test_field1"]
    }
  }
}

4、range query

范围查询
年龄 >= 30的员工


GET /company/employee/_search 
{
  "query": {
    "range": {
      "age": {
        "gte": 30
      }
    }
  }
}

5、term query

会把这个字段当成 exact value 全匹配来查询 不会进行分词

GET /test_index/test_type/_search 
{
  "query": {
    "term": {
      "test_field": "test hello"
    }
  }
}

6、terms query

GET /_search
{
    "query": { "terms": { "tag": [ "search", "full_text", "nosql" ] }}
}

7、exist query(2.x中的查询,现在已经不提供了)

这个字段不能为空

GET /test_index/test_type/_search 
{
  "query": {
    "exists": {
      "field": "title"
    }
  }
}

猜你喜欢

转载自blog.csdn.net/qq_33746789/article/details/84029418
今日推荐