match在匹配时会对所查找的关键词进行分词,然后按分词匹配查找,而term会直接对关键词进行查找。一般模糊查找的时候,多用match,而精确查找时可以使用term。
{
"match": { "title": "my cat"}
}
首先分词为 my和cat 然后 和查询字段分词后的结果进行匹配。
match 会将关键词进行分词分成“my”和“cat”,查找时包含其中任一均可被匹配到。
{
"bool": {
"should": [
{ "term": { "title": "my" }},
{ "term": { "title": "cat" }}
]
}
}
如果想不分词匹配则用 term