public final class FunctionScoreQuery extends Query
Modifier and Type | Class and Description |
---|---|
private static class |
FunctionScoreQuery.FunctionScoreWeight |
(package private) static class |
FunctionScoreQuery.MultiplicativeBoostValuesSource |
private static class |
FunctionScoreQuery.QueryBoostValuesSource |
Modifier and Type | Field and Description |
---|---|
private Query |
in |
private DoubleValuesSource |
source |
Constructor and Description |
---|
FunctionScoreQuery(Query in,
DoubleValuesSource source)
Create a new FunctionScoreQuery
|
Modifier and Type | Method and Description |
---|---|
static FunctionScoreQuery |
boostByQuery(Query in,
Query boostMatch,
float boostValue)
Returns a FunctionScoreQuery where the scores of a wrapped query are multiplied by
a boost factor if the document being scored also matches a separate boosting query.
|
static FunctionScoreQuery |
boostByValue(Query in,
DoubleValuesSource boost)
Returns a FunctionScoreQuery where the scores of a wrapped query are multiplied by
the value of a DoubleValuesSource.
|
Weight |
createWeight(IndexSearcher searcher,
ScoreMode scoreMode,
float boost)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(java.lang.Object o)
Override and implement query instance equivalence properly in a subclass.
|
DoubleValuesSource |
getSource() |
Query |
getWrappedQuery() |
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
Query |
rewrite(IndexReader reader)
Expert: called to re-write queries into primitive queries.
|
java.lang.String |
toString(java.lang.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
|
classHash, sameClassAs, toString
private final Query in
private final DoubleValuesSource source
public FunctionScoreQuery(Query in, DoubleValuesSource source)
in
- the query to wrapsource
- a source of scorespublic Query getWrappedQuery()
public DoubleValuesSource getSource()
public static FunctionScoreQuery boostByValue(Query in, DoubleValuesSource boost)
in
- the query to boostboost
- a DoubleValuesSource
containing the boost valuespublic static FunctionScoreQuery boostByQuery(Query in, Query boostMatch, float boostValue)
in
- the query to boostboostMatch
- the boosting queryboostValue
- the amount to boost documents which match the boosting querypublic Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws java.io.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.java.io.IOException
public Query rewrite(IndexReader reader) throws java.io.IOException
Query
public void visit(QueryVisitor visitor)
Query
public java.lang.String toString(java.lang.String field)
Query
field
assumed to be the
default field and omitted.public boolean equals(java.lang.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)