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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Searchable.h
Go to the documentation of this file.
1 
2 // 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 SEARCHABLE_H
8 #define SEARCHABLE_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene {
13 
24 class LPPAPI Searchable {
25 public:
27 
28 public:
41  virtual void search(const WeightPtr& weight, const FilterPtr& filter, const CollectorPtr& collector) = 0;
42 
45  virtual void close() = 0;
46 
49  virtual int32_t docFreq(const TermPtr& term) = 0;
50 
53  virtual Collection<int32_t> docFreqs(Collection<TermPtr> terms) = 0;
54 
57  virtual int32_t maxDoc() = 0;
58 
62  virtual TopDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n) = 0;
63 
66  virtual DocumentPtr doc(int32_t n) = 0;
67 
85  virtual DocumentPtr doc(int32_t n, const FieldSelectorPtr& fieldSelector) = 0;
86 
88  virtual QueryPtr rewrite(const QueryPtr& query) = 0;
89 
97  virtual ExplanationPtr explain(const WeightPtr& weight, int32_t doc) = 0;
98 
103  virtual TopFieldDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n, const SortPtr& sort) = 0;
104 };
105 
106 }
107 
108 #endif

clucene.sourceforge.net