Class ConstantScoreAutoRewrite
A rewrite method that tries to pick the best constant-score rewrite method based on term and document counts from the query. If both the number of terms and documents is small enough, then CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE is used. Otherwise, CONSTANT_SCORE_FILTER_REWRITE is used.
Inheritance
Inherited Members
Namespace: Lucene.Net.Search
Assembly: Lucene.Net.dll
Syntax
public class ConstantScoreAutoRewrite : TermCollectingRewrite<BooleanQuery>
Fields
DEFAULT_DOC_COUNT_PERCENT
If the query will hit more than 1 in 1000 of the docs in the index (0.1%), the filter method is fastest:
Declaration
public static double DEFAULT_DOC_COUNT_PERCENT
Field Value
Type | Description |
---|---|
double |
DEFAULT_TERM_COUNT_CUTOFF
Defaults derived from rough tests with a 20.0 million doc Wikipedia index. With more than 350 terms in the query, the filter method is fastest:
Declaration
public static int DEFAULT_TERM_COUNT_CUTOFF
Field Value
Type | Description |
---|---|
int |
Properties
DocCountPercent
If the number of documents to be visited in the postings exceeds this specified percentage of the MaxDoc for the index, then CONSTANT_SCORE_FILTER_REWRITE is used. Value may be 0.0 to 100.0.
Declaration
public virtual double DocCountPercent { get; set; }
Property Value
Type | Description |
---|---|
double |
TermCountCutoff
If the number of terms in this query is equal to or larger than this setting then CONSTANT_SCORE_FILTER_REWRITE is used.
Declaration
public virtual int TermCountCutoff { get; set; }
Property Value
Type | Description |
---|---|
int |
Methods
AddClause(BooleanQuery, Term, int, float, TermContext)
A rewrite method that tries to pick the best constant-score rewrite method based on term and document counts from the query. If both the number of terms and documents is small enough, then CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE is used. Otherwise, CONSTANT_SCORE_FILTER_REWRITE is used.
Declaration
protected override void AddClause(BooleanQuery topLevel, Term term, int docFreq, float boost, TermContext states)
Parameters
Type | Name | Description |
---|---|---|
BooleanQuery | topLevel | |
Term | term | |
int | docFreq | |
float | boost | |
TermContext | states |
Overrides
Equals(object)
Determines whether the specified object is equal to the current object.
Declaration
public override bool Equals(object obj)
Parameters
Type | Name | Description |
---|---|---|
object | obj | The object to compare with the current object. |
Returns
Type | Description |
---|---|
bool | true if the specified object is equal to the current object; otherwise, false. |
Overrides
GetHashCode()
Serves as the default hash function.
Declaration
public override int GetHashCode()
Returns
Type | Description |
---|---|
int | A hash code for the current object. |
Overrides
GetTopLevelQuery()
Return a suitable top-level Query for holding all expanded terms.
Declaration
protected override BooleanQuery GetTopLevelQuery()
Returns
Type | Description |
---|---|
BooleanQuery |
Overrides
Rewrite(IndexReader, MultiTermQuery)
A rewrite method that tries to pick the best constant-score rewrite method based on term and document counts from the query. If both the number of terms and documents is small enough, then CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE is used. Otherwise, CONSTANT_SCORE_FILTER_REWRITE is used.
Declaration
public override Query Rewrite(IndexReader reader, MultiTermQuery query)
Parameters
Type | Name | Description |
---|---|---|
IndexReader | reader | |
MultiTermQuery | query |
Returns
Type | Description |
---|---|
Query |