``` # 说明: 在索引为megacorp,类型为employee的文档中,查找last_name为smith,年龄大于30岁的人 GET /megacorp/employee/_search { "query" : { "bool": { "must": { "match" : { "last_name" : "smith" } }, "filter": { "range" : { "age" : { "gt" : 30 } } } } } ``` ``` # 说明:全文搜索,相关性搜索。所有有"rock“或”climbing"的文档都被查找出来,根据_score大小排序 GET /megacorp/employee/_search { "query" : { "match" : { "about" : "rock climbing" } } } ``` ``` 说明:找出一个属性中的独立单词是没有问题的,但有时候想要精确匹配一系列单词或者_短语_ 。 比如, 我们想执行这样一个查询,仅匹配同时包含 “rock” 和 “climbing” ,并且 二者以短语 “rock climbing” 的形式紧挨着的雇员记录。 为此对 match 查询稍作调整,使用一个叫做 match_phrase 的查询 GET /megacorp/employee/_search { "query" : { "match_phrase" : { "about" : "rock climbing" } } } ``` ``` 说明:新增一个查询参数--highlight--高亮。当执行该查询时,返回结果与之前一样,与此同时结果中还多了一个叫做 highlight 的部分。这个部分包含了 about 属性匹配的文本片段,并以 HTML 标签 封装 GET /megacorp/employee/_search { "query" : { "match_phrase" : { "about" : "rock climbing" } }, "highlight": { "fields" : { "about" : {} } } } ```