Class QueryUtils


  • public class QueryUtils
    extends Object
    Utility class for sanity-checking queries.
    • Constructor Summary

      Constructors 
      Constructor Description
      QueryUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static void check​(Random random, org.apache.lucene.search.Query q1, org.apache.lucene.search.Searcher s)
      Various query sanity checks on a searcher, some checks are only done for instanceof IndexSearcher.
      static void check​(Random random, org.apache.lucene.search.Query q1, org.apache.lucene.search.Searcher s, boolean wrap)  
      static void check​(org.apache.lucene.search.Query q)
      Check the types of things query objects should be able to do.
      static void checkEqual​(org.apache.lucene.search.Query q1, org.apache.lucene.search.Query q2)  
      static void checkExplanations​(org.apache.lucene.search.Query q, org.apache.lucene.search.Searcher s)
      deep check that explanations of a query 'score' correctly
      static void checkHashEquals​(org.apache.lucene.search.Query q)
      check very basic hashCode and equals
      static void checkSkipTo​(org.apache.lucene.search.Query q, org.apache.lucene.search.IndexSearcher s)
      alternate scorer skipTo(),skipTo(),next(),next(),skipTo(),skipTo(), etc and ensure a hitcollector receives same docs and scores
      static void checkUnequal​(org.apache.lucene.search.Query q1, org.apache.lucene.search.Query q2)  
      static org.apache.lucene.search.MultiSearcher wrapSearcher​(Random random, org.apache.lucene.search.Searcher s, int edge)
      Given a Searcher, returns a new MultiSearcher wrapping the the original Searcher, as well as several "empty" IndexSearchers -- some of which will have deleted documents in them.
      static org.apache.lucene.search.IndexSearcher wrapUnderlyingReader​(Random random, org.apache.lucene.search.IndexSearcher s, int edge)
      Given an IndexSearcher, returns a new IndexSearcher whose IndexReader is a MultiReader containing the Reader of the original IndexSearcher, as well as several "empty" IndexReaders -- some of which will have deleted documents in them.
    • Constructor Detail

      • QueryUtils

        public QueryUtils()
    • Method Detail

      • check

        public static void check​(org.apache.lucene.search.Query q)
        Check the types of things query objects should be able to do.
      • checkHashEquals

        public static void checkHashEquals​(org.apache.lucene.search.Query q)
        check very basic hashCode and equals
      • checkEqual

        public static void checkEqual​(org.apache.lucene.search.Query q1,
                                      org.apache.lucene.search.Query q2)
      • checkUnequal

        public static void checkUnequal​(org.apache.lucene.search.Query q1,
                                        org.apache.lucene.search.Query q2)
      • checkExplanations

        public static void checkExplanations​(org.apache.lucene.search.Query q,
                                             org.apache.lucene.search.Searcher s)
                                      throws IOException
        deep check that explanations of a query 'score' correctly
        Throws:
        IOException
      • check

        public static void check​(Random random,
                                 org.apache.lucene.search.Query q1,
                                 org.apache.lucene.search.Searcher s,
                                 boolean wrap)
      • wrapUnderlyingReader

        public static org.apache.lucene.search.IndexSearcher wrapUnderlyingReader​(Random random,
                                                                                  org.apache.lucene.search.IndexSearcher s,
                                                                                  int edge)
                                                                           throws IOException
        Given an IndexSearcher, returns a new IndexSearcher whose IndexReader is a MultiReader containing the Reader of the original IndexSearcher, as well as several "empty" IndexReaders -- some of which will have deleted documents in them. This new IndexSearcher should behave exactly the same as the original IndexSearcher.
        Parameters:
        s - the searcher to wrap
        edge - if negative, s will be the first sub; if 0, s will be in the middle, if positive s will be the last sub
        Throws:
        IOException
      • wrapSearcher

        public static org.apache.lucene.search.MultiSearcher wrapSearcher​(Random random,
                                                                          org.apache.lucene.search.Searcher s,
                                                                          int edge)
                                                                   throws IOException
        Given a Searcher, returns a new MultiSearcher wrapping the the original Searcher, as well as several "empty" IndexSearchers -- some of which will have deleted documents in them. This new MultiSearcher should behave exactly the same as the original Searcher.
        Parameters:
        s - the Searcher to wrap
        edge - if negative, s will be the first sub; if 0, s will be in hte middle, if positive s will be the last sub
        Throws:
        IOException
      • checkSkipTo

        public static void checkSkipTo​(org.apache.lucene.search.Query q,
                                       org.apache.lucene.search.IndexSearcher s)
                                throws IOException
        alternate scorer skipTo(),skipTo(),next(),next(),skipTo(),skipTo(), etc and ensure a hitcollector receives same docs and scores
        Throws:
        IOException