ES 问题 : too_many_clauses maxClauseCount is set to 1024

如果bool查询的查询条件过多会导致

 

TooManyClauses问题:

"caused_by":{"type":"too_many_clauses","reason":"maxClauseCount is set to 1024"}}}],

"caused_by":{"type":"query_shard_exception","reason":"failed to create query:

 

解决方式在配置文件 Elasticsearch.yuml中配置

index.query.bool.max_clause_count: 10240 

设置最大限制bool查询的条数。过多会导致性能比较慢。

---------------------

作者:colie_li

来源:CSDN

原文:https://blog.csdn.net/liyantianmin/article/details/64926881

版权声明:本文为博主原创文章,转载请附上博文链接!

(以上内容,转自博客)

(以下内容,为原创→_→)

或者,将查询条件放在 must_not 里面,must_not 里面 terms 查询可以超过 1024 的限制;

(双重否定?must_not 里面 嵌套 must_not)

(经验证,双重否定的方法是可行的_(´ཀ`」∠)_)

 

或者,分批查询,然后对查询的结果取交集,理论上和一起查的结果应该是一致的。

你可能感兴趣的:(ElasticSearch)