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)

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

 

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

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值