7#ifndef MULTITERMQUERY_H
8#define MULTITERMQUERY_H
117 friend class ScoringBooleanQueryRewrite;
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
A rewrite method that tries to pick the best constant-score rewrite method based on term and document...
Definition MultiTermQuery.h:135
static const int32_t DEFAULT_TERM_COUNT_CUTOFF
Definition MultiTermQuery.h:145
virtual ~ConstantScoreAutoRewrite()
virtual double getDocCountPercent()
double docCountPercent
Definition MultiTermQuery.h:152
int32_t termCountCutoff
Definition MultiTermQuery.h:151
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
virtual void setTermCountCutoff(int32_t count)
If the number of terms in this query is equal to or larger than this setting then CONSTANT_SCORE_FILT...
virtual QueryPtr rewrite(const IndexReaderPtr &reader, const MultiTermQueryPtr &query)
virtual void setDocCountPercent(double percent)
If the number of documents to be visited in the postings exceeds this specified percentage of the max...
static const double DEFAULT_DOC_COUNT_PERCENT
Definition MultiTermQuery.h:148
ConstantScoreAutoRewrite()
virtual int32_t hashCode()
Return hash code for this object.
virtual int32_t getTermCountCutoff()
Base class for all Lucene classes.
Definition LuceneObject.h:31
A wrapper for MultiTermQuery, that exposes its functionality as a Filter.
Definition MultiTermQueryWrapperFilter.h:22
An abstract Query that matches documents containing a subset of terms provided by a FilteredTermEnum ...
Definition MultiTermQuery.h:31
void clearTotalNumberOfTerms()
Resets the counting of unique terms. Do this before executing the query/filter.
virtual ~MultiTermQuery()
static RewriteMethodPtr CONSTANT_SCORE_AUTO_REWRITE_DEFAULT()
Read-only default instance of ConstantScoreAutoRewrite, with ConstantScoreAutoRewrite#setTermCountCut...
RewriteMethodPtr rewriteMethod
Definition MultiTermQuery.h:39
virtual int32_t hashCode()
Return hash code for this object.
int32_t numberOfTerms
Definition MultiTermQuery.h:40
static RewriteMethodPtr CONSTANT_SCORE_FILTER_REWRITE()
A rewrite method that first creates a private Filter, by visiting each term in sequence and marking a...
virtual QueryPtr rewrite(const IndexReaderPtr &reader)
Called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into ...
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
static RewriteMethodPtr SCORING_BOOLEAN_QUERY_REWRITE()
A rewrite method that first translates each term into BooleanClause.Occur#SHOULD clause in a BooleanQ...
int32_t getTotalNumberOfTerms()
Return the number of unique terms visited during execution of the query. If there are many of them,...
void incTotalNumberOfTerms(int32_t inc)
static RewriteMethodPtr CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE()
Like SCORING_BOOLEAN_QUERY_REWRITE except scores are not computed. Instead, each matching document re...
virtual RewriteMethodPtr getRewriteMethod()
virtual FilteredTermEnumPtr getEnum(const IndexReaderPtr &reader)=0
Construct the enumeration to be used, expanding the pattern term.
virtual void setRewriteMethod(const RewriteMethodPtr &method)
Sets the rewrite method to be used when executing the query. You can use one of the four core methods...
The abstract base class for queries.
Definition Query.h:31
Abstract class that defines how the query is rewritten.
Definition MultiTermQuery.h:122
virtual QueryPtr rewrite(const IndexReaderPtr &reader, const MultiTermQueryPtr &query)=0
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< RewriteMethod > RewriteMethodPtr
Definition LuceneTypes.h:425
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition LuceneTypes.h:539
boost::shared_ptr< Query > QueryPtr
Definition LuceneTypes.h:420
boost::shared_ptr< MultiTermQuery > MultiTermQueryPtr
Definition LuceneTypes.h:389
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< FilteredTermEnum > FilteredTermEnumPtr
Definition LuceneTypes.h:365