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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
FilteredQuery.h
Go to the documentation of this file.
1 // Copyright (c) 2009-2011 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  {
22  public:
27  FilteredQuery(QueryPtr query, FilterPtr filter);
28 
29  virtual ~FilteredQuery();
30 
32 
33  private:
34  QueryPtr query;
35  FilterPtr filter;
36 
37  public:
38  using Query::toString;
39 
42  virtual WeightPtr createWeight(SearcherPtr searcher);
43 
45  virtual QueryPtr rewrite(IndexReaderPtr reader);
46 
47  QueryPtr getQuery();
48  FilterPtr getFilter();
49 
50  virtual void extractTerms(SetTerm terms);
51 
53  virtual String toString(const String& field);
54 
55  virtual bool equals(LuceneObjectPtr other);
56  virtual int32_t hashCode();
57  virtual LuceneObjectPtr clone(LuceneObjectPtr other = LuceneObjectPtr());
58 
59  friend class FilteredQueryWeight;
60  };
61 }
62 
63 #endif

clucene.sourceforge.net