ElasticSearch bool查询 must,must_not ,should
es的bool查询用于合并多个查询子句,同时要计算每一个查询子句的_score(相关性分值)。
must
查询条件必须满足,相当于and
GET /blank/_search { "query": { "bool": { "must": [ {"term": { "title": { "value": "java学习" } }} ], "should": { "term": { "content": "教程" } } } } }
must_not
查询条件不需要满足,相当于not
GET /blank/_search { "query": { "bool": { "must_not": [ {"term": { "title": { "value": "java学习" } }} ] } } }
should
查询条件可以满足也可以不满足,相当于or,它必须和must一起使用,不能单独使用,实例见must。
总结
1.es中使用should查询必须要和must一起使用才可以。
2.如果bool查询下没有must子句,那至少应该有一个should子句。但是 如果有must子句,那么没 有should子句也可以进行查询。
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。