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,RegexCompletionQueryorFuzzyCompletionQueryquery. - 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 setexactto 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
FieldsFields inherited from interface org.apache.lucene.util.Accountable
NULL_ACCOUNTABLE -
Constructor Summary
ConstructorsConstructorDescriptionContextQuery(CompletionQuery query) Constructs a context completion query that matches documents specified byquery. -
Method Summary
Modifier and TypeMethodDescriptionvoidAdd all contexts with a boost of 1fvoidaddContext(CharSequence context) Adds an exact context with default boost of 1voidaddContext(CharSequence context, float boost) Adds an exact context with boostvoidaddContext(CharSequence context, float boost, boolean exact) Adds a context with boost, setexactto false if the context is a prefix of any indexed contextscreateWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) booleaninthashCode()longvoidvisit(QueryVisitor visitor) Methods inherited from class org.apache.lucene.search.suggest.document.CompletionQuery
getField, getFilter, getTerm, rewriteMethods inherited from class org.apache.lucene.search.Query
classHash, sameClassAs, toStringMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods 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, setexactto 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:
toStringin classCompletionQuery
-
createWeight
public Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException - Overrides:
createWeightin classQuery- Throws:
IOException
-
equals
-
hashCode
public int hashCode() -
visit
-
ramBytesUsed
public long ramBytesUsed()- Specified by:
ramBytesUsedin interfaceAccountable
-