Allow to raise BooleanQuery limit in gerrit.config.
Raising the limit avoids failing a query BooleanQuery.TooManyClauses, preventing users from seeing "400 cannot create query for index" error in the "Conflicts with" part of the change screen. Change-Id: Ie0bf14c4a3e6c4833c064f7ac822c08aa2aaffb8
This commit is contained in:

committed by
David Pursehouse

parent
c99289b27d
commit
74ccc23d02
@@ -1927,6 +1927,14 @@ Only used when the type is `SOLR`.
|
|||||||
+
|
+
|
||||||
URL of the index server.
|
URL of the index server.
|
||||||
|
|
||||||
|
[[index.defaultMaxClauseCount]]index.defaultMaxClauseCount::
|
||||||
|
+
|
||||||
|
Only used when the type is `LUCENE`.
|
||||||
|
+
|
||||||
|
Sets the maximum number of clauses permitted per BooleanQuery.
|
||||||
|
+
|
||||||
|
Defaults to 1024.
|
||||||
|
|
||||||
[[index.name.ramBufferSize]]index.name.ramBufferSize::
|
[[index.name.ramBufferSize]]index.name.ramBufferSize::
|
||||||
+
|
+
|
||||||
Only used when the type is `LUCENE`.
|
Only used when the type is `LUCENE`.
|
||||||
@@ -1976,6 +1984,7 @@ Sample index configuration:
|
|||||||
----
|
----
|
||||||
[index]
|
[index]
|
||||||
type = LUCENE
|
type = LUCENE
|
||||||
|
defaultMaxClauseCount = 2048
|
||||||
|
|
||||||
[index "changes_open"]
|
[index "changes_open"]
|
||||||
ramBufferSize = 60 m
|
ramBufferSize = 60 m
|
||||||
|
@@ -73,6 +73,7 @@ import org.apache.lucene.index.IndexWriter;
|
|||||||
import org.apache.lucene.index.IndexWriterConfig;
|
import org.apache.lucene.index.IndexWriterConfig;
|
||||||
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
|
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
|
||||||
import org.apache.lucene.index.Term;
|
import org.apache.lucene.index.Term;
|
||||||
|
import org.apache.lucene.search.BooleanQuery;
|
||||||
import org.apache.lucene.search.IndexSearcher;
|
import org.apache.lucene.search.IndexSearcher;
|
||||||
import org.apache.lucene.search.Query;
|
import org.apache.lucene.search.Query;
|
||||||
import org.apache.lucene.search.ScoreDoc;
|
import org.apache.lucene.search.ScoreDoc;
|
||||||
@@ -228,6 +229,9 @@ public class LuceneChangeIndex implements ChangeIndex {
|
|||||||
new StandardAnalyzer(luceneVersion, CharArraySet.EMPTY_SET);
|
new StandardAnalyzer(luceneVersion, CharArraySet.EMPTY_SET);
|
||||||
queryBuilder = new QueryBuilder(schema, analyzer);
|
queryBuilder = new QueryBuilder(schema, analyzer);
|
||||||
|
|
||||||
|
BooleanQuery.setMaxClauseCount(cfg.getInt("index", "defaultMaxClauseCount",
|
||||||
|
BooleanQuery.getMaxClauseCount()));
|
||||||
|
|
||||||
GerritIndexWriterConfig openConfig =
|
GerritIndexWriterConfig openConfig =
|
||||||
new GerritIndexWriterConfig(luceneVersion, cfg, "changes_open");
|
new GerritIndexWriterConfig(luceneVersion, cfg, "changes_open");
|
||||||
GerritIndexWriterConfig closedConfig =
|
GerritIndexWriterConfig closedConfig =
|
||||||
|
Reference in New Issue
Block a user