Use AccessController.doPrivileged
diff --git a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java index 5157b4d..b4e9108 100644 --- a/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java +++ b/lucene/core/src/java/org/apache/lucene/search/IndexSearcher.java
@@ -733,7 +733,9 @@ rewrittenQuery = query.rewrite(this)) { query = rewrittenQuery; } - query.visit(getNumClausesCheckVisitor()); + if (maxClauseCount > -1) { + query.visit(getNumClausesCheckVisitor()); + } return query; }
diff --git a/lucene/core/src/java/org/apache/lucene/search/QueryVisitor.java b/lucene/core/src/java/org/apache/lucene/search/QueryVisitor.java index 644e21a..4b362ed 100644 --- a/lucene/core/src/java/org/apache/lucene/search/QueryVisitor.java +++ b/lucene/core/src/java/org/apache/lucene/search/QueryVisitor.java
@@ -99,5 +99,11 @@ } /** A QueryVisitor implementation that does nothing */ - public static final QueryVisitor EMPTY_VISITOR = new QueryVisitor() {}; + public static final QueryVisitor EMPTY_VISITOR = + new QueryVisitor() { + @Override + public boolean acceptField(String field) { + return false; + } + }; }