Class ContextQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.search.suggest.document.CompletionQuery
-
- org.apache.lucene.search.suggest.document.ContextQuery
-
- All Implemented Interfaces:
Accountable
public class ContextQuery extends CompletionQuery implements Accountable
ACompletionQuery
that matches documents specified by a wrappedCompletionQuery
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:
- This query can be constructed with
PrefixCompletionQuery
,RegexCompletionQuery
orFuzzyCompletionQuery
query. - To suggest across all contexts, use
addAllContexts()
. When no context is added, the default behaviour is to suggest across all contexts. - To apply the same boost to multiple contexts sharing the same prefix, Use
addContext(CharSequence, float, boolean)
with the common context prefix, boost and setexact
to false. - Using this query against a
SuggestField
(not context enabled), would yield results ignoring any context filtering/boosting
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Field Summary
Fields Modifier and Type Field Description protected CompletionQuery
innerQuery
Inner completion query-
Fields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
-
Constructor Summary
Constructors Constructor Description ContextQuery(CompletionQuery query)
Constructs a context completion query that matches documents specified byquery
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addAllContexts()
Add all contexts with a boost of 1fvoid
addContext(CharSequence context)
Adds an exact context with default boost of 1void
addContext(CharSequence context, float boost)
Adds an exact context with boostvoid
addContext(CharSequence context, float boost, boolean exact)
Adds a context with boost, setexact
to false if the context is a prefix of any indexed contextsWeight
createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost)
boolean
equals(Object o)
int
hashCode()
long
ramBytesUsed()
String
toString(String field)
void
visit(QueryVisitor visitor)
-
Methods inherited from class org.apache.lucene.search.suggest.document.CompletionQuery
getField, getFilter, getTerm, rewrite
-
Methods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toString
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.lucene.util.Accountable
getChildResources
-
-
-
-
Field Detail
-
innerQuery
protected CompletionQuery innerQuery
Inner completion query
-
-
Constructor Detail
-
ContextQuery
public ContextQuery(CompletionQuery query)
Constructs a context completion query that matches documents specified byquery
.Use
addContext(CharSequence, float, boolean)
to add context(s) with boost
-
-
Method Detail
-
addContext
public void addContext(CharSequence context)
Adds an exact context with default boost of 1
-
addContext
public void addContext(CharSequence context, float boost)
Adds an exact context with boost
-
addContext
public void addContext(CharSequence context, float boost, boolean exact)
Adds a context with boost, setexact
to false if the context is a prefix of any indexed contexts
-
addAllContexts
public void addAllContexts()
Add all contexts with a boost of 1f
-
toString
public String toString(String field)
- Overrides:
toString
in classCompletionQuery
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
- Overrides:
createWeight
in classQuery
- Throws:
IOException
-
visit
public void visit(QueryVisitor visitor)
-
ramBytesUsed
public long ramBytesUsed()
- Specified by:
ramBytesUsed
in interfaceAccountable
-
-