Python elasticsearch_dsl 报错及解决方法

Exception:maxClauseCount is set to 1024

原因:报错原因是Search限制一个bool查询中最多只能有1024个值或子查询,当超过1024时,会抛出异常。
解决办法:
方案一:当超过1024时可以将一个bool查询拆成两个子bool查询,使用must关键字,使得两个子bool查询是与的关系
方案二:编辑elasticsearch.yml,添加如下配置
index.query.bool.max_clause_count: 10240
注意:必须在最前面添加一个空格,即和其他配置首字母对齐,不然es启动报错。
方案三:由于索引分词使用了同义词,可以将查询分词和索引分词分开,单独设置查询分词

posted @ 2023-02-28 17:57  默叶  阅读(135)  评论(0编辑  收藏  举报