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


Searchable.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 SEARCHABLE_H
8 #define SEARCHABLE_H
9 
10 #include "LuceneObject.h"
11 
12 namespace Lucene {
13 
24 class LPPAPI Searchable {
25 public:
27  virtual ~Searchable() {}
28 
29 public:
42  virtual void search(const WeightPtr& weight, const FilterPtr& filter, const CollectorPtr& collector) = 0;
43 
46  virtual void close() = 0;
47 
50  virtual int32_t docFreq(const TermPtr& term) = 0;
51 
54  virtual Collection<int32_t> docFreqs(Collection<TermPtr> terms) = 0;
55 
58  virtual int32_t maxDoc() = 0;
59 
63  virtual TopDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n) = 0;
64 
67  virtual DocumentPtr doc(int32_t n) = 0;
68 
86  virtual DocumentPtr doc(int32_t n, const FieldSelectorPtr& fieldSelector) = 0;
87 
89  virtual QueryPtr rewrite(const QueryPtr& query) = 0;
90 
98  virtual ExplanationPtr explain(const WeightPtr& weight, int32_t doc) = 0;
99 
104  virtual TopFieldDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n, const SortPtr& sort) = 0;
105 };
106 
107 }
108 
109 #endif
Lucene::FilterPtr
boost::shared_ptr< Filter > FilterPtr
Definition: LuceneTypes.h:358
Lucene::TermPtr
boost::shared_ptr< Term > TermPtr
Definition: LuceneTypes.h:233
Lucene::Collection< int32_t >
Lucene::QueryPtr
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
Lucene::DocumentPtr
boost::shared_ptr< Document > DocumentPtr
Definition: LuceneTypes.h:74
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::Searchable
The interface for search implementations.
Definition: Searchable.h:24
Lucene::WeightPtr
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480
Lucene::Searchable::~Searchable
virtual ~Searchable()
Definition: Searchable.h:27
Lucene::TopFieldDocsPtr
boost::shared_ptr< TopFieldDocs > TopFieldDocsPtr
Definition: LuceneTypes.h:474
LUCENE_INTERFACE
#define LUCENE_INTERFACE(Name)
Definition: LuceneObject.h:19
Lucene::CollectorPtr
boost::shared_ptr< Collector > CollectorPtr
Definition: LuceneTypes.h:295
Lucene::TopDocsPtr
boost::shared_ptr< TopDocs > TopDocsPtr
Definition: LuceneTypes.h:471
Lucene::FieldSelectorPtr
boost::shared_ptr< FieldSelector > FieldSelectorPtr
Definition: LuceneTypes.h:77
Lucene::SortPtr
boost::shared_ptr< Sort > SortPtr
Definition: LuceneTypes.h:442
Lucene::ExplanationPtr
boost::shared_ptr< Explanation > ExplanationPtr
Definition: LuceneTypes.h:333
LuceneObject.h

clucene.sourceforge.net