public final class SynonymQuery extends Query
For scoring purposes, this query tries to score the terms as if you had indexed them as one term: it will match any of the terms but only invoke the similarity a single time, scoring the sum of all term frequencies for the document.
Modifier and Type | Class and Description |
---|---|
static class |
SynonymQuery.Builder
A builder for
SynonymQuery . |
private static class |
SynonymQuery.DisiWrapperFreq |
private static class |
SynonymQuery.FreqBoostTermScorer |
private static class |
SynonymQuery.SynonymScorer |
(package private) class |
SynonymQuery.SynonymWeight |
private static class |
SynonymQuery.TermAndBoost |
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
field |
private SynonymQuery.TermAndBoost[] |
terms |
Modifier | Constructor and Description |
---|---|
private |
SynonymQuery(SynonymQuery.TermAndBoost[] terms,
java.lang.String field)
Creates a new SynonymQuery, matching any of the supplied terms.
|
|
SynonymQuery(Term... terms)
Deprecated.
Please use a
SynonymQuery.Builder instead. |
Modifier and Type | Method and Description |
---|---|
Weight |
createWeight(IndexSearcher searcher,
ScoreMode scoreMode,
float boost)
Expert: Constructs an appropriate Weight implementation for this query.
|
boolean |
equals(java.lang.Object other)
Override and implement query instance equivalence properly in a subclass.
|
java.util.List<Term> |
getTerms() |
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
(package private) static ImpactsSource |
mergeImpacts(ImpactsEnum[] impactsEnums,
float[] boosts)
Merge impacts for multiple synonyms.
|
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 SynonymQuery.TermAndBoost[] terms
private final java.lang.String field
@Deprecated public SynonymQuery(Term... terms)
SynonymQuery.Builder
instead.The terms must all have the same field.
private SynonymQuery(SynonymQuery.TermAndBoost[] terms, java.lang.String field)
The terms must all have the same field.
public java.util.List<Term> getTerms()
public java.lang.String toString(java.lang.String field)
Query
field
assumed to be the
default field and omitted.public int hashCode()
Query
QueryCache
works properly.hashCode
in class Query
Query.equals(Object)
public boolean equals(java.lang.Object other)
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 Query rewrite(IndexReader reader) throws java.io.IOException
Query
public void visit(QueryVisitor visitor)
Query
public 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
static ImpactsSource mergeImpacts(ImpactsEnum[] impactsEnums, float[] boosts)