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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

Query.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 QUERY_H
8 #define QUERY_H
9
10 #include "LuceneObject.h"
11
12 namespace Lucene {
13
31 class LPPAPI Query : public LuceneObject {
32 public:
33 Query();
34 virtual ~Query();
35
36 LUCENE_CLASS(Query);
37
38 protected:
39 double boost; // query boost factor
40
41 public:
44 virtual void setBoost(double b);
45
48 virtual double getBoost();
49
61 virtual String toString(const String& field);
62
64 virtual String toString();
65
68 virtual WeightPtr createWeight(const SearcherPtr& searcher);
69
71 virtual WeightPtr weight(const SearcherPtr& searcher);
72
75 virtual QueryPtr rewrite(const IndexReaderPtr& reader);
76
84 virtual QueryPtr combine(Collection<QueryPtr> queries);
85
88 virtual void extractTerms(SetTerm terms);
89
93 static QueryPtr mergeBooleanQueries(Collection<BooleanQueryPtr> queries);
94
98 virtual SimilarityPtr getSimilarity(const SearcherPtr& searcher);
99
101 virtual LuceneObjectPtr clone(const LuceneObjectPtr& other = LuceneObjectPtr());
102
103 virtual int32_t hashCode();
104 virtual bool equals(const LuceneObjectPtr& other);
105
107 String boostString();
108 };
109
110 }
111
112 #endif
Lucene::LuceneObjectPtr
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
Lucene::WeightPtr
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480
Lucene::SearcherPtr
boost::shared_ptr< Searcher > SearcherPtr
Definition: LuceneTypes.h:434
LuceneObject.h
Lucene::Query
The abstract base class for queries.
Definition: Query.h:31
Lucene::QueryPtr
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
Lucene::IndexReaderPtr
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition: LuceneTypes.h:157
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::Collection< QueryPtr >
Lucene::SimilarityPtr
boost::shared_ptr< Similarity > SimilarityPtr
Definition: LuceneTypes.h:435

clucene.sourceforge.net