public final class BM25FQuery extends Query
Query that treats multiple fields as a single stream and scores
terms as if you had indexed them as a single term in a single field.
For scoring purposes this query implements the BM25F's simple formula
described in:
http://www.staff.city.ac.uk/~sb317/papers/foundations_bm25_review.pdf
The per-field similarity is ignored but to be compatible each field must use
a Similarity at index time that encodes norms the same way as
SimilarityBase.computeNorm(org.apache.lucene.index.FieldInvertState).| Modifier and Type | Class and Description |
|---|---|
static class |
BM25FQuery.Builder
A builder for
BM25FQuery. |
| 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(Object other)
Override and implement query instance equivalence properly in a subclass.
|
List<Term> |
getTerms() |
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.
|
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
|
classHash, sameClassAs, toStringpublic String toString(String field)
Queryfield assumed to be the
default field and omitted.public int hashCode()
QueryQueryCache works properly.hashCode in class QueryQuery.equals(Object)public boolean equals(Object other)
QueryQueryCache 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 QueryQuery.sameClassAs(Object),
Query.classHash()public Query rewrite(IndexReader reader) throws IOException
Queryrewrite in class QueryIOExceptionpublic void visit(QueryVisitor visitor)
Querypublic Weight createWeight(IndexSearcher searcher, ScoreMode scoreMode, float boost) throws IOException
QueryOnly implemented by primitive queries, which re-write to themselves.
createWeight in class QueryscoreMode - How the produced scorers will be consumed.boost - The boost that is propagated by the parent queries.IOExceptionCopyright © 2000–2020 The Apache Software Foundation. All rights reserved.