这来自Elasticsearch指南(documentation)
使用and运算符,所有术语查询均作为must子句添加, 因此所有子句必须匹配。这两个查询是等效的:
{
"match": {
"title": {
"query": "brown fox",
"operator": "and"
}
}
}
{
"bool": {
"must": [
{ "term": { "title": "brown" }},
{ "term": { "title": "fox" }}
]
}
}
除了match
会分析查询,而term
不会分析查询之外,它们是相同的吗?还是真的等效?