Package org.apache.lucene.search.spans
Class SpanMultiTermQueryWrapper<Q extends MultiTermQuery>
- java.lang.Object
 - 
- org.apache.lucene.search.Query
 - 
- org.apache.lucene.search.spans.SpanQuery
 - 
- org.apache.lucene.search.spans.SpanMultiTermQueryWrapper<Q>
 
 
 
 
- 
- All Implemented Interfaces:
 java.lang.Cloneable
public class SpanMultiTermQueryWrapper<Q extends MultiTermQuery> extends SpanQuery
Wraps anyMultiTermQueryas aSpanQuery, so it can be nested within other SpanQuery classes.The query is rewritten by default to a
SpanOrQuerycontaining the expanded terms, but this can be customized.Example:
WildcardQuery wildcard = new WildcardQuery(new Term("field", "bro?n")); SpanQuery spanWildcard = new SpanMultiTermQueryWrapper<WildcardQuery>(wildcard); // do something with spanWildcard, such as use it in a SpanFirstQuery 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSpanMultiTermQueryWrapper.SpanRewriteMethodAbstract class that defines how the query is rewritten.static classSpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewriteA rewrite method that first translates each term into a SpanTermQuery in aBooleanClause.Occur.SHOULDclause in a BooleanQuery, and keeps the scores as computed by the query. 
- 
Field Summary
Fields Modifier and Type Field Description static SpanMultiTermQueryWrapper.SpanRewriteMethodSCORING_SPAN_QUERY_REWRITEA rewrite method that first translates each term into a SpanTermQuery in aBooleanClause.Occur.SHOULDclause in a BooleanQuery, and keeps the scores as computed by the query. 
- 
Constructor Summary
Constructors Constructor Description SpanMultiTermQueryWrapper(Q query)Create a new SpanMultiTermQueryWrapper. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object obj)java.lang.StringgetField()Returns the name of the field matched by this query.SpanMultiTermQueryWrapper.SpanRewriteMethodgetRewriteMethod()Expert: returns the rewriteMethodSpansgetSpans(AtomicReaderContext context, Bits acceptDocs, java.util.Map<Term,TermContext> termContexts)Expert: Returns the matches for this query in an index.QuerygetWrappedQuery()Returns the wrapped queryinthashCode()Queryrewrite(IndexReader reader)Expert: called to re-write queries into primitive queries.voidsetRewriteMethod(SpanMultiTermQueryWrapper.SpanRewriteMethod rewriteMethod)Expert: sets the rewrite method.java.lang.StringtoString(java.lang.String field)Prints a query to a string, withfieldassumed to be the default field and omitted.- 
Methods inherited from class org.apache.lucene.search.spans.SpanQuery
createWeight 
 - 
 
 - 
 
- 
- 
Field Detail
- 
SCORING_SPAN_QUERY_REWRITE
public static final SpanMultiTermQueryWrapper.SpanRewriteMethod SCORING_SPAN_QUERY_REWRITE
A rewrite method that first translates each term into a SpanTermQuery in aBooleanClause.Occur.SHOULDclause in a BooleanQuery, and keeps the scores as computed by the query. 
 - 
 
- 
Constructor Detail
- 
SpanMultiTermQueryWrapper
public SpanMultiTermQueryWrapper(Q query)
Create a new SpanMultiTermQueryWrapper.- Parameters:
 query- Query to wrap.NOTE: This will call
MultiTermQuery.setRewriteMethod(MultiTermQuery.RewriteMethod)on the wrappedquery, changing its rewrite method to a suitable one for spans. Be sure to not change the rewrite method on the wrapped query afterwards! Doing so will throwUnsupportedOperationExceptionon rewriting this query!
 
 - 
 
- 
Method Detail
- 
getRewriteMethod
public final SpanMultiTermQueryWrapper.SpanRewriteMethod getRewriteMethod()
Expert: returns the rewriteMethod 
- 
setRewriteMethod
public final void setRewriteMethod(SpanMultiTermQueryWrapper.SpanRewriteMethod rewriteMethod)
Expert: sets the rewrite method. This only makes sense to be a span rewrite method. 
- 
getSpans
public Spans getSpans(AtomicReaderContext context, Bits acceptDocs, java.util.Map<Term,TermContext> termContexts) throws java.io.IOException
Description copied from class:SpanQueryExpert: Returns the matches for this query in an index. Used internally to search for spans. 
- 
getField
public java.lang.String getField()
Description copied from class:SpanQueryReturns the name of the field matched by this query.Note that this may return null if the query matches no terms.
 
- 
getWrappedQuery
public Query getWrappedQuery()
Returns the wrapped query 
- 
toString
public java.lang.String toString(java.lang.String field)
Description copied from class:QueryPrints a query to a string, withfieldassumed to be the default field and omitted. 
- 
rewrite
public Query rewrite(IndexReader reader) throws java.io.IOException
Description copied from class:QueryExpert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys. 
 - 
 
 -