org.apache.lucene.search.spans
Class SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite

java.lang.Object
  extended by org.apache.lucene.search.MultiTermQuery.RewriteMethod
      extended by org.apache.lucene.search.spans.SpanMultiTermQueryWrapper.SpanRewriteMethod
          extended by org.apache.lucene.search.spans.SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite
All Implemented Interfaces:
Serializable
Enclosing class:
SpanMultiTermQueryWrapper<Q extends MultiTermQuery>

public static final class SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite
extends SpanMultiTermQueryWrapper.SpanRewriteMethod

A rewrite method that first translates each term into a SpanTermQuery in a BooleanClause.Occur.SHOULD clause in a BooleanQuery, and keeps the scores as computed by the query.

This rewrite method only uses the top scoring terms so it will not overflow the boolean max clause count.

See Also:
MultiTermQuery.setRewriteMethod(org.apache.lucene.search.MultiTermQuery.RewriteMethod), Serialized Form

Constructor Summary
SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite(int size)
          Create a TopTermsSpanBooleanQueryRewrite for at most size terms.
 
Method Summary
 boolean equals(Object obj)
           
 int getSize()
          return the maximum priority queue size
 int hashCode()
           
 SpanQuery rewrite(IndexReader reader, MultiTermQuery query)
           
 
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite

public SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite(int size)
Create a TopTermsSpanBooleanQueryRewrite for at most size terms.

Method Detail

getSize

public int getSize()
return the maximum priority queue size


rewrite

public SpanQuery rewrite(IndexReader reader,
                         MultiTermQuery query)
                  throws IOException
Specified by:
rewrite in class SpanMultiTermQueryWrapper.SpanRewriteMethod
Throws:
IOException

hashCode

public int hashCode()
Overrides:
hashCode in class Object

equals

public boolean equals(Object obj)
Overrides:
equals in class Object