首页 > 代码库 > 词组检索(phrase search)

词组检索(phrase search)

上一节介绍了单个单词在field中的检索。但是有时候想要检索包含一个词组或短语的文档。例如,现在已经可以构建一个请求体查询一个包含了词组”rock climbing“中任意一个或两个无序的单词的员工信息。

如果要精确检索词组可以稍微变化一下match为match_phrase,如下:

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

这次,毫无疑问,返回的结果就只有John了

{
   
...
   
"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"]
           
}
         
}
     
]
   
}
}

 

原文:http://www.elasticsearch.org/guide/en/elasticsearch/guide/current/_phrase_search.html