must:所有语句都必须(must) 匹配,与 AND 等价,影响评分。
filter:所有语句都必须(filter)匹配,不影响评分。
should:至少有一个语句要匹配,与 OR 等价,影响评分。
must_not:所有语句都 不能(must not) 匹配,与 NOT 等价,不影响评分。

⚠️ 默认情况下,没有 should 语句是必须匹配的,只有一个例外:那就是当没有 must 语句的时候,至少有一个 should 语句必须匹配。但是可以通过 minimum_should_match 参数控制需要匹配的 should 语句的数量,它既可以是一个绝对的数字,又可以是个百分比。

term:基于词项的查询,对倒排索引的词项精确匹配。
match:基于全文的查询,既能处理全文字段,又能处理精确字段。主要的应用场景就是进行全文搜索。

参考:https://mp.weixin.qq.com/s/GG_zrQlaiP2nfPOxzx_j9w