elasticsearch 过滤器查询中是否有最大数量的术语?
当尝试索引超过 1000 个术语的查询时,我得到一个 StackoverflowError 像这样:
java.lang.StackOverflowError
at org.apache.lucene.util.automaton.RegExp.next(RegExp.java:839)
at org.apache.lucene.util.automaton.RegExp.parseCharExp(RegExp.java:985)
at org.apache.lucene.util.automaton.RegExp.parseSimpleExp(RegExp.java:980)
at org.apache.lucene.util.automaton.RegExp.parseCharClassExp(RegExp.java:912)
at org.apache.lucene.util.automaton.RegExp.parseComplExp(RegExp.java:900)
at org.apache.lucene.util.automaton.RegExp.parseRepeatExp(RegExp.java:870)
at org.apache.lucene.util.automaton.RegExp.parseConcatExp(RegExp.java:863)
at org.apache.lucene.util.automaton.RegExp.parseConcatExp(RegExp.java:864)
at org.apache.lucene.util.automaton.RegExp.parseConcatExp(RegExp.java:864)
最后一行不断重复。
我尝试将具有高值(16384)的 index.query.bool.max_clause_count 添加到 elasticsearch.yml 文件,但这并不能解决问题。
是否有解决方案,或者将查询分解为许多小得多的查询是否更合适?