org.apache.lucene.search
Class QueryUtils

java.lang.Object
  extended by org.apache.lucene.search.QueryUtils

public class QueryUtils
extends Object

Utility class for sanity-checking queries.


Nested Class Summary
static class QueryUtils.FCInvisibleMultiReader
          This is a MultiReader that can be used for randomly wrapping other readers without creating FieldCache insanity.
 
Constructor Summary
QueryUtils()
           
 
Method Summary
static void check(Query q)
          Check the types of things query objects should be able to do.
static void check(Random random, Query q1, IndexSearcher s)
          Various query sanity checks on a searcher, some checks are only done for instanceof IndexSearcher.
static void check(Random random, Query q1, IndexSearcher s, boolean wrap)
           
static void checkEqual(Query q1, Query q2)
           
static void checkExplanations(Query q, IndexSearcher s)
          deep check that explanations of a query 'score' correctly
static void checkFirstSkipTo(Query q, IndexSearcher s)
          check that first skip on just created scorers always goes to the right doc
static void checkHashEquals(Query q)
          check very basic hashCode and equals
static void checkSkipTo(Query q, IndexSearcher s)
          alternate scorer skipTo(),skipTo(),next(),next(),skipTo(),skipTo(), etc and ensure a hitcollector receives same docs and scores
static void checkUnequal(Query q1, Query q2)
           
static void purgeFieldCache(IndexReader r)
           
static IndexSearcher wrapUnderlyingReader(Random random, 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryUtils

public QueryUtils()
Method Detail

check

public static void check(Query q)
Check the types of things query objects should be able to do.


checkHashEquals

public static void checkHashEquals(Query q)
check very basic hashCode and equals


checkEqual

public static void checkEqual(Query q1,
                              Query q2)

checkUnequal

public static void checkUnequal(Query q1,
                                Query q2)

checkExplanations

public static void checkExplanations(Query q,
                                     IndexSearcher s)
                              throws IOException
deep check that explanations of a query 'score' correctly

Throws:
IOException

check

public static void check(Random random,
                         Query q1,
                         IndexSearcher s)
Various query sanity checks on a searcher, some checks are only done for instanceof IndexSearcher.

See Also:
check(Query), checkFirstSkipTo(org.apache.lucene.search.Query, org.apache.lucene.search.IndexSearcher), checkSkipTo(org.apache.lucene.search.Query, org.apache.lucene.search.IndexSearcher), checkExplanations(org.apache.lucene.search.Query, org.apache.lucene.search.IndexSearcher), checkEqual(org.apache.lucene.search.Query, org.apache.lucene.search.Query)

check

public static void check(Random random,
                         Query q1,
                         IndexSearcher s,
                         boolean wrap)

purgeFieldCache

public static void purgeFieldCache(IndexReader r)
                            throws IOException
Throws:
IOException

wrapUnderlyingReader

public static IndexSearcher wrapUnderlyingReader(Random random,
                                                 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

checkSkipTo

public static void checkSkipTo(Query q,
                               IndexSearcher s)
                        throws IOException
alternate scorer skipTo(),skipTo(),next(),next(),skipTo(),skipTo(), etc and ensure a hitcollector receives same docs and scores

Throws:
IOException

checkFirstSkipTo

public static void checkFirstSkipTo(Query q,
                                    IndexSearcher s)
                             throws IOException
check that first skip on just created scorers always goes to the right doc

Throws:
IOException


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.