match是一个高级的全文查询。
单个词查询
GET /my_index/my_type/_search{"query": {"match": {"title": "QUICK!"}}}
- 检查字段类型 。
标题title字段是一个string类型(analyzed)已分析的全文字段,这意味着查询字符串本身也应该被分析。 - 分析查询字符串 。
将查询的字符串QUICK!传入标准分析器中,输出的结果是单个项quick。因为只有一个单词项,所以match查询执行的是单个底层term查询。 - 查找匹配文档 。
用term查询在倒排索引中查找quick然后获取一组包含该项的文档,本例的结果是文档:1、2 和 3 。 - 为每个文档评分 。
用term查询计算每个文档相关度评分_score,这是种将词频(term frequency,即词quick在相关文档的title字段中出现的频率)和反向文档频率(inverse document frequency,即词quick在所有文档的title字段中出现的频率),以及字段的长度(即字段越短相关度越高)相结合的计算方式。参见 相关性的介绍 。
