public class SpanMultiTermQueryWrapper<Q extends MultiTermQuery> extends SpanQuery
MultiTermQuery
as a SpanQuery
,
so it can be nested within other SpanQuery classes.
The query is rewritten by default to a SpanOrQuery
containing
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
Modifier and Type | Class and Description |
---|---|
static class |
SpanMultiTermQueryWrapper.SpanRewriteMethod
Abstract class that defines how the query is rewritten.
|
static class |
SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite
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. |
Modifier and Type | Field and Description |
---|---|
protected Q |
query |
static SpanMultiTermQueryWrapper.SpanRewriteMethod |
SCORING_SPAN_QUERY_REWRITE
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. |
Constructor and Description |
---|
SpanMultiTermQueryWrapper(Q query)
Create a new SpanMultiTermQueryWrapper.
|
Modifier and Type | Method and Description |
---|---|
SpanWeight |
createWeight(IndexSearcher searcher,
boolean needsScores)
Create a SpanWeight for this query
|
boolean |
equals(Object obj) |
String |
getField()
Returns the name of the field matched by this query.
|
SpanMultiTermQueryWrapper.SpanRewriteMethod |
getRewriteMethod()
Expert: returns the rewriteMethod
|
Query |
getWrappedQuery()
Returns the wrapped query
|
int |
hashCode() |
Query |
rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
|
void |
setRewriteMethod(SpanMultiTermQueryWrapper.SpanRewriteMethod rewriteMethod)
Expert: sets the rewrite method.
|
String |
toString(String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
getTermContexts, getTermContexts
protected final Q extends MultiTermQuery query
public static final SpanMultiTermQueryWrapper.SpanRewriteMethod SCORING_SPAN_QUERY_REWRITE
BooleanClause.Occur.SHOULD
clause in a BooleanQuery, and keeps the
scores as computed by the query.public SpanMultiTermQueryWrapper(Q query)
query
- Query to wrap.public final SpanMultiTermQueryWrapper.SpanRewriteMethod getRewriteMethod()
public final void setRewriteMethod(SpanMultiTermQueryWrapper.SpanRewriteMethod rewriteMethod)
public String getField()
SpanQuery
public SpanWeight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException
SpanQuery
createWeight
in class SpanQuery
searcher
- the IndexSearcher to be searched acrossneedsScores
- if the query needs scoresIOException
- on errorpublic Query getWrappedQuery()
public String toString(String field)
Query
field
assumed to be the
default field and omitted.public Query rewrite(IndexReader reader) throws IOException
Query
rewrite
in class SpanQuery
IOException
Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.