第十三篇 elasticsearch的Query DSL搜索语法

来源:互联网 发布:网络安全法答题 编辑:程序博客网 时间:2024/06/05 07:42

Query DSL基本语法

{    QUERY_NAME: {        ARGUMENT: VALUE,        ARGUMENT: VALUE,...    }}{    QUERY_NAME: {        FIELD_NAME: {            ARGUMENT: VALUE,            ARGUMENT: VALUE,...        }    }}

示例:

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

多条件搜索
搜索需求:title必须包含elasticsearch,content可以包含elasticsearch也可以不包含,author_id必须不为111

GET /website/article/_search{  "query": {    "bool": {      "must": [        {          "match": {            "title": "elasticsearch"          }        }      ],      "should": [        {          "match": {            "content": "elasticsearch"          }        }      ],      "must_not": [        {          "match": {            "author_id": 111          }        }      ]    }  }}

模拟一个更加复杂的语法

GET /test_index/_search{    "query": {            "bool": {                "must": { "match":   { "name": "tom" }},                "should": [                    { "match":       { "hired": true }},                    { "bool": {                        "must":      { "match": { "personality": "good" }},                        "must_not":  { "match": { "rude": true }}                    }}                ],                "minimum_should_match": 1            }    }}
原创粉丝点击