短语搜索 (Phrase Search)edit

找出一个字段中的独立单词固然是好的,但有时候想要精确匹配一系列单词或者短语 (phrase)。 比如,我们想执行这样一个查询,仅匹配同时包含 “rock” “climbing” 的雇员记录,并且 二者以短语“rock climbing”的形式紧挨着。

为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询:

GET /megacorp/employee/_search
{
    "query" : {
        "match_phrase" : {
            "about" : "rock climbing"
        }
    }
}

没有惊喜,结果仅返回 John Smith 的文档。

{
   ...
   "hits": {
      "total":      1,
      "max_score":  0.23013961,
      "hits": [
         {
            ...
            "_score":         0.23013961,
            "_source": {
               "first_name":  "John",
               "last_name":   "Smith",
               "age":         25,
               "about":       "I love to go rock climbing",
               "interests": [ "sports", "music" ]
            }
         }
      ]
   }
}