无法找到minimum_should_match
文档中的默认值
https://www.elastic.co/guide/zh-CN/elasticsearch/reference/current/query-dsl-
minimum-should-
match.html
是0
还是1
,还是取决于查询是否具有正义should
或filter
上下文?
默认值minimum_should_match
取决于查询和上下文:
1
:在查询上下文中且should
单独存在(否must
或filter
)1
:在过滤器上下文中(例如filter
,在bool
查询的一部分内部;在ES 6.7之前为true)0
:在过滤器上下文中(例如filter
,在bool
查询的一部分内部;自ES 7.0起为true,请参见下面的注释)0
:在查询上下文中,有must
and should
(或filter
and should
)可以在bool
查询文档中找到:
如果布尔查询位于查询上下文中,并且具有must或filter子句,则文档将与布尔查询匹配,即使没有应当匹配的查询。在这种情况下,这些子句仅用于影响得分。如果布尔查询是一个过滤器上下文,或者既没有必须查询也没有过滤器,则应该查询中的至少一个必须与文档匹配才能使其与布尔查询匹配。可以通过设置minimum_should_match参数来明确控制此行为。
查询上下文,并且should
是单独的:
POST _search
{
"query": {
"bool" : {
"should" : [
{ "term" : { "tag" : "wow" } },
{ "term" : { "tag" : "elasticsearch" } }
]
# default:
# "minimum_should_match" : 1
}
}
}
查询上下文,must
并与should
:
POST _search
{
"query": {
"bool" : {
"must" : {
"term" : { "user" : "kimchy" }
},
"should" : [
{ "term" : { "tag" : "wow" } },
{ "term" : { "tag" : "elasticsearch" } }
]
# default:
# "minimum_should_match" : 0
}
}
}
过滤器上下文:
POST _search
{
"query": {
"bool": {
"filter": {
"bool": {
"must": {
"term" : { "user" : "kimchy" }
},
"should": [
{ "term" : { "tag" : "wow" } },
{ "term" : { "tag" : "elasticsearch" } }
]
# default (until ES 6.7):
# "minimum_should_match" : 1
}
}
}
}
}
在Elasticsearch
7.0中,过滤器上下文已被删除,这实际上意味着在过滤器上下文中其默认值现在为0
。
注:内容翻译自官网文档 Language Guide (proto3) 中的 Default Values 一节 当消息被解析时, 如果被编码的消息没有包含特定的简单元素, 被解析的对象对应的字段被设置为默认值. 默认值是和类型有关的: 对于strings, 默认值是空字符串(注, 是"", 而不是null) 对于bytes, 默认值是空字节(注, 应该是byte[0], 注意这里也不是null)
我是Java初学者,我正在尝试创建一个ArrayList来存储包含整数的ArrayList。我已经知道外部ArrayList的大小,并希望存储内部ArrayList。例如,我希望将所有狗的ID号添加到存储在外部ArrayList第一个索引中的ArrayList中,猫的ID号添加到第二个索引中,蜥蜴的ID号添加到第三个索引中。这将以随机的顺序发生,所以我希望外部ArrayList已经初始化了它的大小
来自nginx。org,keepalive config的默认值是-,但我不太明白这意味着什么。
问题内容: 众所周知,根据JLS7 p.4.12.5, 每个实例变量均使用默认值初始化。例如(1): 但是我一直认为,这样的类实现(2): 绝对等于示例(1)。我期望,复杂的Java编译器会看到(2)中的所有这些初始化值都是多余的,并忽略了它们。 但是突然对于这两个类,我们有两个不同的字节码。 例如(1): 例如(2): 问题是: 为什么?但这是显而易见的要优化的事情。什么原因? UPD: 我使用
主要内容:在创建表时设置默认值约束,在修改表时添加默认值约束,删除默认值约束默认值(Default)的完整称呼是“默认值约束(Default Constraint)”,用来指定某列的默认值。在表中插入一条新记录时,如果没有为某个字段赋值,系统就会自动为这个字段插入默认值。 例如,员工信息表中,部门位置在北京的较多,那么部门位置就可以默认为“北京”,系统就会自动为这个字段赋值为“北京”。 默认值约束通常用在已经设置了非空约束的列,这样能够防止数据表在录入数据时出现错误。 在
我正在开发一个JPA应用程序,并且我正在使用eclipse链接提供程序。 我有一个表T1,其中有一个字段F1定义为非null,并且有一个默认值(“U”)。 我已经定义了一个映射到表T1的实体。该实体有一个映射到字段F1的属性,我已经用注释@ReturnInsert(returnOnly=true)配置了该属性。 文件说明: 使用@返回插入使INSERT操作将值返回到正在写入的对象中 如果在映射到F