在我的数据流中,我试图从以前的术语聚合中检索文档子集,但在ES集群中达到了maxClauseCount限制。后续查询如下所示:
GET dataset/_search
{
"size": 2000,
"query": {
"bool": {
"must": [
(a filter or two)...,
{
"terms":{
"otherid":[
"789e18f2-bacb-4e38-9800-bf8e4c65c206",
"8e6967aa-5b98-483e-b50f-c681c7396a6a",
...
]
}
}
]}
}
}在我的研究中,我遇到了一个查找(遗憾的是,我们无法使用它)以及ids查询。
https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-terms-query.html https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-ids-query.html
从实验来看,it查询似乎不共享术语查询所具有的限制(可能不会转换为terms子句)。有谁知道在不使用if字段的情况下实现if查询类似功能的好方法。
我的ES版本是5.0。
谢谢!
发布于 2017-03-21 15:41:54
而不是使用术语,使用术语过滤器,它将解决这个问题。
或index.query.bool.max_clause_count:增加到更高的值(*不推荐)
http://george-stathis.com/2013/10/18/setting-the-booleanquery-maxclausecount-in-elasticsearch/
https://stackoverflow.com/questions/42916357
复制相似问题