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

- Main Page
- Related Pages
- Namespaces
- Data Structures
- Files

- File List
- Globals

All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
DisjunctionSumScorer.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 DISJUNCTIONSUMSCORER_H
8 #define DISJUNCTIONSUMSCORER_H
9
10 #include "Scorer.h"
11
12 namespace Lucene
13 {
16 class DisjunctionSumScorer : public Scorer
17 {
18 public:
19 DisjunctionSumScorer(Collection<ScorerPtr> subScorers, int32_t minimumNrMatchers = 1);
20 virtual ~DisjunctionSumScorer();
21
22 LUCENE_CLASS(DisjunctionSumScorer);
23
24 protected:
26 int32_t nrScorers;
27
29 Collection<ScorerPtr> subScorers;
30
32 int32_t minimumNrMatchers;
33
41 ScorerDocQueuePtr scorerDocQueue;
42
44 int32_t currentDoc;
45
47 int32_t _nrMatchers;
48
49 double currentScore;
50
51 public:
52 virtual void initialize();
53
54 virtual void score(CollectorPtr collector);
55 virtual int32_t nextDoc();
56
59 virtual double score();
60
61 virtual int32_t docID();
62
65 int32_t nrMatchers();
66
72 virtual int32_t advance(int32_t target);
73
74 protected:
76 void initScorerDocQueue();
77
83 virtual bool score(CollectorPtr collector, int32_t max, int32_t firstDocID);
84
91 bool advanceAfterCurrent();
92 };
93 }
94
95 #endif

clucene.sourceforge.net