这也就是说,match
查询的一个主要用途是进行全文搜索。让我们通过一个小例子来看一下全文搜索是如何工作的。
索引一些数据
首先,我们使用bulk
API来创建和索引一些文档:
// SENSE: 100_Full_Text_Search/05_Match_query.json
<1> 删除已经存在的索引(如果索引存在)
单词查询
第一个例子解释了当使用match
查询进行单词全文搜索时发生了什么:
// SENSE: 100_Full_Text_Search/05_Match_query.json
Elasticsearch通过下面的步骤执行match
查询:
检查field类型
title
字段是一个字符串(),所以该查询字符串也需要被分析(analyzed
)找到匹配的文档
term
查询在倒排索引中搜索quick
,并且返回包含该词的文档。在这个例子中,返回的文档是1,2,3。
这个过程之后我们将得到以下结果(简化后):
<1> 文档1最相关,因为 title
最短,意味着在语义中起比较大的作用。