match 查询
本章定位:match 是全文搜索最常用的查询。它接受用户输入的文本,分词后在倒排索引中查找匹配的文档。
定义与作用
match 查询将输入的文本通过 Analyzer 分词,默认以 OR 逻辑匹配文档(包含任意一个词项即匹配)。可设 operator: and 要求所有词项都匹配。
完整示例:小崔的搜索框实现
# OR 匹配(默认,召回率高)
POST /courses/_search
{
"query": {
"match": {
"title": {
"query": "Python 数据分析",
"operator": "or"
}
}
}
}
# AND 匹配(精度高)
{ "match": { "title": { "query": "Python 数据分析", "operator": "and" } } }
# minimum_should_match(折中方案)
{ "match": { "title": { "query": "Python 数据分析实战", "minimum_should_match": "75%" } } }
小结
match 查询三步:分词→查倒排→评分。OR 模式召回高但噪声多,AND 模式精准但可能零结果。minimum_should_match 是最佳折中。