public final class DisjunctionMaxQuery extends Query implements Iterable<Query>
Modifier and Type | Class and Description |
---|---|
protected class |
DisjunctionMaxQuery.DisjunctionMaxWeight
Expert: the Weight for DisjunctionMaxQuery, used to
normalize, score and explain these queries.
|
Constructor and Description |
---|
DisjunctionMaxQuery(Collection<Query> disjuncts,
float tieBreakerMultiplier)
Creates a new DisjunctionMaxQuery
|
Modifier and Type | Method and Description |
---|---|
Weight |
createWeight(IndexSearcher searcher,
boolean needsScores)
Create the Weight used to score us
|
boolean |
equals(Object other)
Return true iff we represent the same query as o
|
List<Query> |
getDisjuncts() |
float |
getTieBreakerMultiplier() |
int |
hashCode()
Compute a hash code for hashing us
|
Iterator<Query> |
iterator() |
Query |
rewrite(IndexReader reader)
Optimize our representation and our subqueries representations
|
String |
toString(String field)
Prettyprint us.
|
classHash, sameClassAs, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
public DisjunctionMaxQuery(Collection<Query> disjuncts, float tieBreakerMultiplier)
disjuncts
- a Collection<Query>
of all the disjuncts to addtieBreakerMultiplier
- the score of each non-maximum disjunct for a document is multiplied by this weight
and added into the final score. If non-zero, the value should be small, on the order of 0.1, which says that
10 occurrences of word in a lower-scored field that is also in a higher scored field is just as good as a unique
word in the lower scored field (i.e., one that is not in any higher scored field.public List<Query> getDisjuncts()
public float getTieBreakerMultiplier()
public Weight createWeight(IndexSearcher searcher, boolean needsScores) throws IOException
createWeight
in class Query
needsScores
- True if document scores (Scorer.score()
) or match
frequencies (Scorer.freq()
) are needed.IOException
public Query rewrite(IndexReader reader) throws IOException
rewrite
in class Query
reader
- the IndexReader we queryIOException
public boolean equals(Object other)
equals
in class Query
other
- another objectQuery.sameClassAs(Object)
,
Query.classHash()
public int hashCode()
hashCode
in class Query
Query.equals(Object)