MUST和SHOULDES中的bool查询有什么区别?
MUST
SHOULD
如果我 只 想要包含我的条款的结果,那我应该使用must?
must
我有一个查询,应该只包含某些值,也没有日期/时间戳比今天的时间/日期低的结果-现在
也
我可以在下面的代码中使用多个过滤器吗:
"filtered": { "filter": { "bool" : { "must" : { "term" : { "type" : 1 } "term" : { "totals" : 14 } "term" : { "groupId" : 3 } "range" : { "expires" : { "gte": "now" } } },
必须 表示:子句(查询)必须出现在匹配的文档中。这些子句必须匹配,例如逻辑 AND 。
应该 表示:这些子句中的至少一个必须匹配,例如逻辑 OR 。
基本上,它们的使用类似于逻辑运算符AND和OR。看到这个。
现在在布尔查询中:
必须 表示: 必须 与要包含的文档匹配的子句。
应该 表示:如果这些子句匹配,则增加_score; 否则,它们将无效。它们仅用于完善每个文档的相关性得分。
_score
是的,您可以在内部使用多个过滤器must。