Package org.apache.lucene.queries.spans
Class SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite
java.lang.Object
org.apache.lucene.search.MultiTermQuery.RewriteMethod
org.apache.lucene.queries.spans.SpanMultiTermQueryWrapper.SpanRewriteMethod
org.apache.lucene.queries.spans.SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite
- Enclosing class:
SpanMultiTermQueryWrapper<Q extends MultiTermQuery>
public static final class SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite
extends SpanMultiTermQueryWrapper.SpanRewriteMethod
A rewrite method that translates each term into a SpanTermQuery within a
SpanOrQuery,
but retains only the most frequent terms so it will not overflow the boolean max clause count.
Unlike SpanMultiTermQueryWrapper.TopTermsSpanBooleanQueryRewrite, which keeps the top terms by boost, this
method ranks terms by their index statistics — document frequency, optionally breaking
ties by total term frequency — and keeps the maxSize most frequent ones.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA collected term paired with itsTermStates, used for ranking. -
Field Summary
FieldsModifier and TypeFieldDescriptionRanks terms by document frequency; the least frequent term is dropped first.Ranks terms by document frequency, breaking ties by total term frequency. -
Constructor Summary
ConstructorsConstructorDescriptionFrequentTermsSpanBooleanQueryRewrite(int maxSize) Create a rewrite that keeps at mostmaxSizeterms, ranked byDF_ORDER.FrequentTermsSpanBooleanQueryRewrite(int maxSize, Comparator<SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite.ScoreTerm> order) Create a rewrite that keeps at mostmaxSizeterms, ranked byorder. -
Method Summary
Modifier and TypeMethodDescriptionbooleanintReturns the maximum number of terms retained by this rewrite.inthashCode()rewrite(IndexSearcher indexSearcher, MultiTermQuery query) Methods inherited from class org.apache.lucene.search.MultiTermQuery.RewriteMethod
getTermsEnum
-
Field Details
-
DF_ORDER
public static final Comparator<SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite.ScoreTerm> DF_ORDERRanks terms by document frequency; the least frequent term is dropped first. -
DF_THEN_TTF_ORDER
public static final Comparator<SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite.ScoreTerm> DF_THEN_TTF_ORDERRanks terms by document frequency, breaking ties by total term frequency.
-
-
Constructor Details
-
FrequentTermsSpanBooleanQueryRewrite
public FrequentTermsSpanBooleanQueryRewrite(int maxSize) Create a rewrite that keeps at mostmaxSizeterms, ranked byDF_ORDER. -
FrequentTermsSpanBooleanQueryRewrite
public FrequentTermsSpanBooleanQueryRewrite(int maxSize, Comparator<SpanMultiTermQueryWrapper.FrequentTermsSpanBooleanQueryRewrite.ScoreTerm> order) Create a rewrite that keeps at mostmaxSizeterms, ranked byorder.
-
-
Method Details
-
getMaxSize
public int getMaxSize()Returns the maximum number of terms retained by this rewrite. -
rewrite
- Specified by:
rewritein classSpanMultiTermQueryWrapper.SpanRewriteMethod- Throws:
IOException
-
hashCode
public int hashCode() -
equals
-