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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
TopDocsCollector.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 TOPDOCSCOLLECTOR_H
8 #define TOPDOCSCOLLECTOR_H
9 
10 #include "Collector.h"
11 #include "PriorityQueue.h"
12 
13 namespace Lucene {
14 
21 class LPPAPI TopDocsCollector : public Collector {
22 public:
24  virtual ~TopDocsCollector();
25 
27 
28 protected:
32  HitQueueBasePtr pq;
33 
35  int32_t totalHits;
36 
37 public:
39  virtual int32_t getTotalHits();
40 
42  virtual TopDocsPtr topDocs();
43 
53  virtual TopDocsPtr topDocs(int32_t start);
54 
65  virtual TopDocsPtr topDocs(int32_t start, int32_t howMany);
66 
67 protected:
69  static TopDocsPtr EMPTY_TOPDOCS();
70 
73  virtual void populateResults(Collection<ScoreDocPtr> results, int32_t howMany);
74 
78  virtual TopDocsPtr newTopDocs(Collection<ScoreDocPtr> results, int32_t start);
79 };
80 
81 }
82 
83 #endif
A base class for all collectors that return a TopDocs output. This collector allows easy extension by...
Definition: TopDocsCollector.h:21
boost::shared_ptr< TopDocs > TopDocsPtr
Definition: LuceneTypes.h:471
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< HitQueueBase > HitQueueBasePtr
Definition: LuceneTypes.h:371
Collectors are primarily meant to be used to gather raw results from a search, and implement sorting ...
Definition: Collector.h:100
int32_t totalHits
The total number of documents that the collector encountered.
Definition: TopDocsCollector.h:35

clucene.sourceforge.net