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
字段中出现的频率),以及字段的长度(即字段越短相关度越高)相结合的计算方式。参见 相关性的介绍 。