Lucene++ - a full-featured, c++ search engine
API Documentation


DisjunctionMaxQuery.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2014 Alan Wright. All rights reserved.
3 // Distributable under the terms of either the Apache License (Version 2.0)
4 // or the GNU Lesser General Public License.
6 
7 #ifndef DISJUNCTIONMAXQUERY_H
8 #define DISJUNCTIONMAXQUERY_H
9 
10 #include "Query.h"
11 
12 namespace Lucene {
13 
27 class LPPAPI DisjunctionMaxQuery : public Query {
28 public:
35  DisjunctionMaxQuery(double tieBreakerMultiplier = 0.0);
36 
40  DisjunctionMaxQuery(Collection<QueryPtr> disjuncts, double tieBreakerMultiplier);
41 
42  virtual ~DisjunctionMaxQuery();
43 
45 
46 protected:
48  Collection<QueryPtr> disjuncts;
49 
52 
53 public:
54  using Query::toString;
55 
58  void add(const QueryPtr& query);
59 
61  void add(Collection<QueryPtr> disjuncts);
62 
66 
68  virtual WeightPtr createWeight(const SearcherPtr& searcher);
69 
73  virtual QueryPtr rewrite(const IndexReaderPtr& reader);
74 
77  virtual LuceneObjectPtr clone(const LuceneObjectPtr& other = LuceneObjectPtr());
78 
80  virtual void extractTerms(SetTerm terms);
81 
85  virtual String toString(const String& field);
86 
89  virtual bool equals(const LuceneObjectPtr& other);
90 
91  virtual int32_t hashCode();
92 
93  friend class DisjunctionMaxWeight;
94 };
95 
96 }
97 
98 #endif
virtual String toString()
Prints a query to a string.
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480
boost::shared_ptr< Searcher > SearcherPtr
Definition: LuceneTypes.h:434
A query that generates the union of documents produced by its subqueries, and that scores each docume...
Definition: DisjunctionMaxQuery.h:27
The abstract base class for queries.
Definition: Query.h:31
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition: LuceneTypes.h:157
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12
double tieBreakerMultiplier
Multiple of the non-max disjunct scores added into our final score. Non-zero values support tie-break...
Definition: DisjunctionMaxQuery.h:51

clucene.sourceforge.net