Package org.apache.lucene.search
Class MultiTermQuery.TopTermsBlendedFreqScoringRewrite
- java.lang.Object
-
- org.apache.lucene.search.MultiTermQuery.RewriteMethod
-
- org.apache.lucene.search.TermCollectingRewrite<B>
-
- org.apache.lucene.search.TopTermsRewrite<BlendedTermQuery.Builder>
-
- org.apache.lucene.search.MultiTermQuery.TopTermsBlendedFreqScoringRewrite
-
- Enclosing class:
- MultiTermQuery
public static final class MultiTermQuery.TopTermsBlendedFreqScoringRewrite extends TopTermsRewrite<BlendedTermQuery.Builder>
A rewrite method that first translates each term intoBooleanClause.Occur.SHOULDclause in a BooleanQuery, but adjusts the frequencies used for scoring to be blended across the terms, otherwise the rarest term typically ranks highest (often not useful eg in the set of expanded terms in a FuzzyQuery).This rewrite method only uses the top scoring terms so it will not overflow the boolean max clause count.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.lucene.search.TopTermsRewrite
TopTermsRewrite.ScoreTerm
-
Nested classes/interfaces inherited from class org.apache.lucene.search.TermCollectingRewrite
TermCollectingRewrite.TermCollector
-
-
Constructor Summary
Constructors Constructor Description TopTermsBlendedFreqScoringRewrite(int size)Create a TopTermsBlendedScoringBooleanQueryRewrite for at mostsizeterms.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddClause(BlendedTermQuery.Builder topLevel, Term term, int docCount, float boost, TermStates states)protected Querybuild(BlendedTermQuery.Builder builder)Finalize the creation of the query from the builder.protected intgetMaxSize()return the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).protected BlendedTermQuery.BuildergetTopLevelBuilder()Return a suitable builder for the top-level Query for holding all expanded terms.-
Methods inherited from class org.apache.lucene.search.TopTermsRewrite
equals, getSize, hashCode, rewrite
-
Methods inherited from class org.apache.lucene.search.TermCollectingRewrite
addClause, collectTerms
-
Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
-
-
-
Constructor Detail
-
TopTermsBlendedFreqScoringRewrite
public TopTermsBlendedFreqScoringRewrite(int size)
Create a TopTermsBlendedScoringBooleanQueryRewrite for at mostsizeterms.NOTE: if
BooleanQuery.getMaxClauseCount()is smaller thansize, then it will be used instead.
-
-
Method Detail
-
getMaxSize
protected int getMaxSize()
Description copied from class:TopTermsRewritereturn the maximum size of the priority queue (for boolean rewrites this is BooleanQuery#getMaxClauseCount).- Specified by:
getMaxSizein classTopTermsRewrite<BlendedTermQuery.Builder>
-
getTopLevelBuilder
protected BlendedTermQuery.Builder getTopLevelBuilder()
Description copied from class:TermCollectingRewriteReturn a suitable builder for the top-level Query for holding all expanded terms.- Specified by:
getTopLevelBuilderin classTermCollectingRewrite<BlendedTermQuery.Builder>
-
build
protected Query build(BlendedTermQuery.Builder builder)
Description copied from class:TermCollectingRewriteFinalize the creation of the query from the builder.- Specified by:
buildin classTermCollectingRewrite<BlendedTermQuery.Builder>
-
addClause
protected void addClause(BlendedTermQuery.Builder topLevel, Term term, int docCount, float boost, TermStates states)
- Specified by:
addClausein classTermCollectingRewrite<BlendedTermQuery.Builder>
-
-