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 ファイルに追加しようとしましたが、問題は解決しません。
解決策はありますか、それともクエリを多数の非常に小さなクエリに分割する方が適切ですか?