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


 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
DisjunctionMaxScorer.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 DISJUNCTIONMAXSCORER_H
8 #define DISJUNCTIONMAXSCORER_H
9 
10 #include "Scorer.h"
11 
12 namespace Lucene {
13 
18 class DisjunctionMaxScorer : public Scorer {
19 public:
21  virtual ~DisjunctionMaxScorer();
22 
24 
25 protected:
28  int32_t numScorers;
29 
32 
33  int32_t doc;
34 
35 public:
36  virtual int32_t nextDoc();
37  virtual int32_t docID();
38 
41  virtual double score();
42 
43  virtual int32_t advance(int32_t target);
44 
45 protected:
47  void scoreAll(int32_t root, int32_t size, int32_t doc, Collection<double> sum, Collection<double> max);
48 
50  void heapify();
51 
54  void heapAdjust(int32_t root);
55 
57  void heapRemoveRoot();
58 };
59 
60 }
61 
62 #endif

clucene.sourceforge.net