public class ContextQuery extends CompletionQuery
CompletionQuery
that match documents specified by
a wrapped CompletionQuery
supporting boosting and/or filtering
by specified contexts.
Use this query against ContextSuggestField
Example of using a CompletionQuery
with boosted
contexts:
CompletionQuery completionQuery = ...; ContextQuery query = new ContextQuery(completionQuery); query.addContext("context1", 2); query.addContext("context2", 1);
NOTE:
PrefixCompletionQuery
, RegexCompletionQuery
or FuzzyCompletionQuery
query.
addAllContexts()
.
When no context is added, the default behaviour is to suggest across
all contexts.
addContext(CharSequence, float, boolean)
with the common
context prefix, boost and set exact
to false.
SuggestField
(not context enabled),
would yield results ignoring any context filtering/boosting
Modifier and Type | Field and Description |
---|---|
protected CompletionQuery |
innerQuery
Inner completion query
|
Constructor and Description |
---|
ContextQuery(CompletionQuery query)
Constructs a context completion query that matches
documents specified by
query . |
Modifier and Type | Method and Description |
---|---|
void |
addAllContexts()
Add all contexts with a boost of 1f
|
void |
addContext(CharSequence context)
Adds an exact context with default boost of 1
|
void |
addContext(CharSequence context,
float boost)
Adds an exact context with boost
|
void |
addContext(CharSequence context,
float boost,
boolean exact)
Adds a context with boost, set
exact to false
if the context is a prefix of any indexed contexts |
Weight |
createWeight(IndexSearcher searcher,
boolean needsScores)
Expert: Constructs an appropriate Weight implementation for this query.
|
String |
toString(String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
getField, getFilter, getTerm, rewrite
protected CompletionQuery innerQuery
public ContextQuery(CompletionQuery query)
query
.
Use addContext(CharSequence, float, boolean)
to add context(s) with boost
public void addContext(CharSequence context)
public void addContext(CharSequence context, float boost)
public void addContext(CharSequence context, float boost, boolean exact)
exact
to false
if the context is a prefix of any indexed contextspublic void addAllContexts()
public String toString(String field)
Query
field
assumed to be the
default field and omitted.toString
in class CompletionQuery
public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException
Query
Only implemented by primitive queries, which re-write to themselves.
createWeight
in class Query
needsScores
- True if document scores (Scorer.score()
) or match
frequencies (Scorer.freq()
) are needed.IOException
Copyright © 2000–2015 The Apache Software Foundation. All rights reserved.