我知道ElasticSearch对bool查询中可以使用的子句数有内部限制。这由ElasticSearch.yml文件中的max_clause_count控制。
但我认为此限制不适用于搜索中传递的值
因此,如下所示的查询将起作用,其中包含超过1024个值 术语查询
{
"query":{
"bool":{
"should":[
{ "terms": {"id": ["cafe-babe-0000","cafe-babe-0001",... ]}}
]
}
}
}
但是此查询将启动TooManyClauses异常。所以,在这种情况下, 查询中的值数量也计入此限制。这是对的吗?
此外,我现在认为这不是执行此类查询的最佳方式,但是 是否可以重写上一个查询以便不超过限制?
答案 0 :(得分:0)
您可以使用ids query。
"query": {
"ids": {
"values": [ "cafe-babe-0000","cafe-babe-0001",... ]
}
}
据我所知,此查询没有任何限制。