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


FilteredQuery.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 FILTEREDQUERY_H
8 #define FILTEREDQUERY_H
9 
10 #include "Query.h"
11 
12 namespace Lucene {
13 
20 class LPPAPI FilteredQuery : public Query {
21 public:
26  FilteredQuery(const QueryPtr& query, const FilterPtr& filter);
27 
28  virtual ~FilteredQuery();
29 
31 
32 private:
33  QueryPtr query;
34  FilterPtr filter;
35 
36 public:
37  using Query::toString;
38 
41  virtual WeightPtr createWeight(const SearcherPtr& searcher);
42 
44  virtual QueryPtr rewrite(const IndexReaderPtr& reader);
45 
48 
49  virtual void extractTerms(SetTerm terms);
50 
52  virtual String toString(const String& field);
53 
54  virtual bool equals(const LuceneObjectPtr& other);
55  virtual int32_t hashCode();
57 
58  friend class FilteredQueryWeight;
59 };
60 
61 }
62 
63 #endif
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
A query that applies a filter to the results of another query.
Definition: FilteredQuery.h:20
virtual String toString(const String &field)
Prints a user-readable version of this query.
virtual int32_t hashCode()
Return hash code for this object.
virtual void extractTerms(SetTerm terms)
Adds all terms occurring in this query to the terms set. Only works if this query is in its rewritten...
virtual bool equals(const LuceneObjectPtr &other)
Return whether two objects are equal.
virtual LuceneObjectPtr clone(const LuceneObjectPtr &other=LuceneObjectPtr())
Returns a clone of this query.
virtual WeightPtr createWeight(const SearcherPtr &searcher)
Returns a Weight that applies the filter to the enclosed query's Weight. This is accomplished by over...
FilteredQuery(const QueryPtr &query, const FilterPtr &filter)
Constructs a new query which applies a filter to the results of the original query....
virtual QueryPtr rewrite(const IndexReaderPtr &reader)
Rewrites the wrapped query.
The abstract base class for queries.
Definition: Query.h:31
virtual String toString()
Prints a query to a string.
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< LuceneObject > LuceneObjectPtr
Definition: LuceneTypes.h:539
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
boost::shared_ptr< Searcher > SearcherPtr
Definition: LuceneTypes.h:434
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition: LuceneTypes.h:157
boost::shared_ptr< Filter > FilterPtr
Definition: LuceneTypes.h:358
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480

clucene.sourceforge.net