7#ifndef DISJUNCTIONMAXQUERY_H
8#define DISJUNCTIONMAXQUERY_H
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
collection_type::iterator iterator
Definition Collection.h:22
friend class DisjunctionMaxWeight
Definition DisjunctionMaxQuery.h:93
Collection< QueryPtr >::iterator end()
virtual WeightPtr createWeight(const SearcherPtr &searcher)
Create the Weight used to score us.
double tieBreakerMultiplier
Multiple of the non-max disjunct scores added into our final score. Non-zero values support tie-break...
Definition DisjunctionMaxQuery.h:51
virtual ~DisjunctionMaxQuery()
void add(const QueryPtr &query)
Add a subquery to this disjunction.
Collection< QueryPtr >::iterator begin()
An iterator over the disjuncts.
virtual int32_t hashCode()
Return hash code for this object.
virtual bool equals(const LuceneObjectPtr &other)
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Create a shallow copy of us - used in rewriting if necessary.
virtual QueryPtr rewrite(const IndexReaderPtr &reader)
Optimize our representation and our subqueries representations.
DisjunctionMaxQuery(Collection< QueryPtr > disjuncts, double tieBreakerMultiplier)
Creates a new DisjunctionMaxQuery.
Collection< QueryPtr > disjuncts
The subqueries.
Definition DisjunctionMaxQuery.h:48
void add(Collection< QueryPtr > disjuncts)
Add a collection of disjuncts to this disjunction.
virtual void extractTerms(SetTerm terms)
Adds all terms occurring in this query to the terms set.
virtual String toString(const String &field)
Pretty print us.
DisjunctionMaxQuery(double tieBreakerMultiplier=0.0)
Creates a new empty DisjunctionMaxQuery. Use add() to add the subqueries.
virtual String toString(const String &field)
Prints a query to a string, with field assumed to be the default field and omitted.
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< Query > QueryPtr
Definition LuceneTypes.h:420
boost::shared_ptr< Weight > WeightPtr
Definition LuceneTypes.h:480
boost::shared_ptr< Searcher > SearcherPtr
Definition LuceneTypes.h:434
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition LuceneTypes.h:539
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157