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
include
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
:
20
DisjunctionMaxScorer
(
double
tieBreakerMultiplier
,
const
SimilarityPtr
&
similarity
,
Collection<ScorerPtr>
subScorers
, int32_t
numScorers
);
21
virtual
~DisjunctionMaxScorer
();
22
23
LUCENE_CLASS
(
DisjunctionMaxScorer
);
24
25
protected
:
27
Collection<ScorerPtr>
subScorers
;
28
int32_t
numScorers
;
29
31
double
tieBreakerMultiplier
;
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