Class MaxClauseCountQueryVisitor

java.lang.Object
org.apache.lucene.search.QueryVisitor
org.elasticsearch.search.internal.MaxClauseCountQueryVisitor

public final class MaxClauseCountQueryVisitor extends org.apache.lucene.search.QueryVisitor
QueryVisitor that counts visited clauses and throws IndexSearcher.TooManyNestedClauses when the configured maximum is exceeded.

IndexOrDocValuesQuery is treated as a single clause and its inner queries are ignored, and IndexSortSortedNumericDocValuesRangeQuery is skipped so only the fallback query is counted.

  • Constructor Details

    • MaxClauseCountQueryVisitor

      public MaxClauseCountQueryVisitor(int maxClauseCount)
  • Method Details

    • getMaxClauseCount

      public int getMaxClauseCount()
    • getNumClauses

      public int getNumClauses()
    • reset

      public void reset()
    • merge

      public void merge(MaxClauseCountQueryVisitor other)
    • getSubVisitor

      public org.apache.lucene.search.QueryVisitor getSubVisitor(org.apache.lucene.search.BooleanClause.Occur occur, org.apache.lucene.search.Query parent)
      Overrides:
      getSubVisitor in class org.apache.lucene.search.QueryVisitor
    • visitLeaf

      public void visitLeaf(org.apache.lucene.search.Query query)
      Overrides:
      visitLeaf in class org.apache.lucene.search.QueryVisitor
    • consumeTerms

      public void consumeTerms(org.apache.lucene.search.Query query, org.apache.lucene.index.Term... terms)
      Overrides:
      consumeTerms in class org.apache.lucene.search.QueryVisitor
    • consumeTermsMatching

      public void consumeTermsMatching(org.apache.lucene.search.Query query, String field, Supplier<org.apache.lucene.util.automaton.ByteRunAutomaton> automaton)
      Overrides:
      consumeTermsMatching in class org.apache.lucene.search.QueryVisitor