public class ContextQuery extends CompletionQuery implements Accountable
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:
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,
ScoreMode scoreMode,
float boost)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(Object o)
Override and implement query instance equivalence properly in a subclass.
|
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
long |
ramBytesUsed()
Return the memory usage of this object in bytes.
|
String |
toString(String field)
Prints a query to a string, with
field assumed to be the
default field and omitted. |
void |
visit(QueryVisitor visitor)
Recurse through the query tree, visiting any child queries
|
getField, getFilter, getTerm, rewrite
classHash, sameClassAs, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getChildResources
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, ScoreMode scoreMode, float boost) throws IOException
Query
Only implemented by primitive queries, which re-write to themselves.
createWeight
in class Query
scoreMode
- How the produced scorers will be consumed.boost
- The boost that is propagated by the parent queries.IOException
public boolean equals(Object o)
Query
QueryCache
works properly.
Typically a query will be equal to another only if it's an instance of
the same class and its document-filtering properties are identical that other
instance. Utility methods are provided for certain repetitive code.equals
in class Query
Query.sameClassAs(Object)
,
Query.classHash()
public int hashCode()
Query
QueryCache
works properly.hashCode
in class Query
Query.equals(Object)
public void visit(QueryVisitor visitor)
Query
public long ramBytesUsed()
Accountable
ramBytesUsed
in interface Accountable
Copyright © 2000–2020 The Apache Software Foundation. All rights reserved.