Class SolrSearcherRequirementDetector


  • public class SolrSearcherRequirementDetector
    extends org.apache.lucene.search.QueryVisitor
    Detects whether a query can be run using a standard Lucene IndexSearcher

    Some Solr Query implementations are written to assume access to a SolrIndexSearcher. But these objects aren't always available: some code-paths (e.g. when executing a "delete-by-query") execute the query using the standard IndexSearcher available in Lucene. This QueryVisitor allows code to detect whether a given Query requires SolrIndexSearcher or not.

    Instances should not be reused for multiple query-tree inspections.

    See Also:
    SolrSearcherRequirer
    WARNING: This API is experimental and might change in incompatible ways in the next release.
    • Constructor Detail

      • SolrSearcherRequirementDetector

        public SolrSearcherRequirementDetector()
    • Method Detail

      • 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
      • getRequiresSolrSearcher

        public boolean getRequiresSolrSearcher()