1. 程式人生 > >QueryDSL搜尋語法

QueryDSL搜尋語法

格式:
{
QUERY_NAME: {
ARGUMENT: VALUE,
ARGUMENT: VALUE,…
}
}
示例:
GET /test_index/test_type/_search
{
“query”: {
“match”: {
“test_field”: “test”
}
}
}
在這裡插入圖片描述
如果組合多個搜尋條件

{
“took”: 1,
“timed_out”: false,
“_shards”: {
“total”: 5,
“successful”: 5,
“failed”: 0
},
“hits”: {
“total”: 3,
“max_score”: 1,
“hits”: [
{
“_index”: “website”,
“_type”: “article”,
“_id”: “2”,
“_score”: 1,
“_source”: {
“title”: “my hadoop article”,
“content”: “hadoop is very bad”,
“author_id”: 111
}
},
{
“_index”: “website”,
“_type”: “article”,
“_id”: “1”,
“_score”: 1,
“_source”: {
“title”: “my elasticsearch article”,
“content”: “es is very bad”,
“author_id”: 110
}
},
{
“_index”: “website”,
“_type”: “article”,
“_id”: “3”,
“_score”: 1,
“_source”: {
“title”: “my elasticsearch article”,
“content”: “es is very goods”,
“author_id”: 111
}
}
]
}
}
根據上面資料進行篩選
搜尋需求: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
          }
        }
      ]
    }
  }
}

在這裡插入圖片描述