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


IndexSearcher.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 INDEXSEARCHER_H
8 #define INDEXSEARCHER_H
9 
10 #include "Searcher.h"
11 
12 namespace Lucene {
13 
23 class LPPAPI IndexSearcher : public Searcher {
24 public:
30  IndexSearcher(const DirectoryPtr& path, bool readOnly = true);
31 
33  IndexSearcher(const IndexReaderPtr& reader);
34 
36  IndexSearcher(const IndexReaderPtr& reader, Collection<IndexReaderPtr> subReaders, Collection<int32_t> docStarts);
37 
38  virtual ~IndexSearcher();
39 
41 
42 public:
43  IndexReaderPtr reader;
44 
45 protected:
47 
50 
53 
54 public:
56  IndexReaderPtr getIndexReader();
57 
61  virtual void close();
62 
63  virtual int32_t docFreq(const TermPtr& term);
64  virtual DocumentPtr doc(int32_t n);
65  virtual DocumentPtr doc(int32_t n, const FieldSelectorPtr& fieldSelector);
66  virtual int32_t maxDoc();
67 
68  using Searcher::search;
69  using Searcher::explain;
70 
71  virtual TopDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n);
72  virtual TopFieldDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n, const SortPtr& sort);
73 
80  virtual TopFieldDocsPtr search(const WeightPtr& weight, const FilterPtr& filter, int32_t n, const SortPtr& sort, bool fillFields);
81 
82  virtual void search(const WeightPtr& weight, const FilterPtr& filter, const CollectorPtr& results);
83  virtual QueryPtr rewrite(const QueryPtr& query);
84  virtual ExplanationPtr explain(const WeightPtr& weight, int32_t doc);
85 
92  virtual void setDefaultFieldSortScoring(bool doTrackScores, bool doMaxScore);
93 
94 protected:
95  void ConstructSearcher(const IndexReaderPtr& reader, bool closeReader);
96  void gatherSubReaders(Collection<IndexReaderPtr> allSubReaders, const IndexReaderPtr& reader);
97  void searchWithFilter(const IndexReaderPtr& reader, const WeightPtr& weight, const FilterPtr& filter, const CollectorPtr& collector);
98 };
99 
100 }
101 
102 #endif
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::FilterPtr
boost::shared_ptr< Filter > FilterPtr
Definition: LuceneTypes.h:358
Lucene::TermPtr
boost::shared_ptr< Term > TermPtr
Definition: LuceneTypes.h:233
Searcher.h
Lucene::IndexSearcher::fieldSortDoMaxScore
bool fieldSortDoMaxScore
Definition: IndexSearcher.h:52
Lucene::Collection< IndexReaderPtr >
Lucene::IndexSearcher::fieldSortDoTrackScores
bool fieldSortDoTrackScores
Definition: IndexSearcher.h:51
Lucene::QueryPtr
boost::shared_ptr< Query > QueryPtr
Definition: LuceneTypes.h:420
Lucene::Searcher
An abstract base class for search implementations. Implements the main search methods.
Definition: Searcher.h:18
Lucene::Searcher::search
virtual TopFieldDocsPtr search(const QueryPtr &query, const FilterPtr &filter, int32_t n, const SortPtr &sort)
Search implementation with arbitrary sorting. Finds the top n hits for query, applying filter if non-...
Lucene::IndexSearcher::docStarts
Collection< int32_t > docStarts
Definition: IndexSearcher.h:49
Lucene::IndexSearcher::closeReader
bool closeReader
Definition: IndexSearcher.h:46
Lucene::IndexSearcher::subReaders
Collection< IndexReaderPtr > subReaders
Definition: IndexSearcher.h:48
Lucene::DocumentPtr
boost::shared_ptr< Document > DocumentPtr
Definition: LuceneTypes.h:74
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::WeightPtr
boost::shared_ptr< Weight > WeightPtr
Definition: LuceneTypes.h:480
Lucene::IndexReaderPtr
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition: LuceneTypes.h:157
Lucene::TopFieldDocsPtr
boost::shared_ptr< TopFieldDocs > TopFieldDocsPtr
Definition: LuceneTypes.h:474
Lucene::CollectorPtr
boost::shared_ptr< Collector > CollectorPtr
Definition: LuceneTypes.h:295
Lucene::IndexSearcher
Implements search over a single IndexReader.
Definition: IndexSearcher.h:23
Lucene::Searcher::explain
virtual ExplanationPtr explain(const QueryPtr &query, int32_t doc)
Returns an Explanation that describes how doc scored against query.
Lucene::TopDocsPtr
boost::shared_ptr< TopDocs > TopDocsPtr
Definition: LuceneTypes.h:471
Lucene::DirectoryPtr
boost::shared_ptr< Directory > DirectoryPtr
Definition: LuceneTypes.h:489
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

clucene.sourceforge.net