第48节:初识搜索引擎_上机动手实战常用的各种query搜索语法

课程大纲

 

1、match all

 

GET /_search

{

    "query": {

        "match_all": {}

    }

}

 

2、match

 

GET /_search

{

    "query": { "match": { "title": "my elasticsearch article" }}

}

 

3、multi match

 

GET /test_index/test_type/_search

{

  "query": {

    "multi_match": {

      "query": "test",

      "fields": ["test_field", "test_field1"]

    }

  }

}

//test_field 或者 test_field1 中包含test

 

4、range query

 

GET /company/employee/_search

{

  "query": {

    "range": {

      "age": {

        "gte": 30

      }

    }

  }

}

//查询age大于30的

 

5、term query

 

GET /test_index/test_type/_search

{

  "query": {

    "term": {

      "test_field": "test hello"//不会对查询结果进行分词,也就是查询整个串 test hello,注意测试这个时候必须自己建立mapping ,对test_field这个字段不进行分词。只有这样才能查出

    }

  }

}

GET /test_index/test_type/_search

{

  "query": {

    "match": {

      "test_field": "test hello"//match 会将查询请求进行分词

    }

 }

}

区别?

 

6、terms query

 

GET /_search

{

    "query": { "terms": { "tag": [ "search", "full_text", "nosql" ] }}//对某个字段指定多个搜索词语

}

 

 

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

 

 

猜你喜欢

转载自blog.csdn.net/qq_35524586/article/details/88095636
今日推荐