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
A
CompletionQuery
that matches 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:
- 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 inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE
-
Constructor Summary
ConstructorDescriptionContextQuery
(CompletionQuery query) Constructs a context completion query that matches documents specified byquery
. -
Method Summary
Modifier and TypeMethodDescriptionvoid
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 contextscreateWeight
(IndexSearcher searcher, ScoreMode scoreMode, float boost) boolean
int
hashCode()
long
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 Details
-
innerQuery
Inner completion query
-
-
Constructor Details
-
ContextQuery
Constructs a context completion query that matches documents specified byquery
.Use
addContext(CharSequence, float, boolean)
to add context(s) with boost
-
-
Method Details
-
addContext
Adds an exact context with default boost of 1 -
addContext
Adds an exact context with boost -
addContext
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
- Overrides:
toString
in classCompletionQuery
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException - Overrides:
createWeight
in classQuery
- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
visit
-
ramBytesUsed
public long ramBytesUsed()- Specified by:
ramBytesUsed
in interfaceAccountable
-