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


Loading...
Searching...
No Matches
ScorerDocQueue.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 SCORERDOCQUEUE_H
8#define SCORERDOCQUEUE_H
9
10#include "LuceneObject.h"
11
12namespace Lucene {
13
16class LPPAPI ScorerDocQueue : public LuceneObject {
17public:
18 ScorerDocQueue(int32_t maxSize);
19 virtual ~ScorerDocQueue();
20
22
23protected:
25 int32_t maxSize;
26 int32_t _size;
27 HeapedScorerDocPtr topHSD; // same as heap[1], only for speed
28
29public:
32 void put(const ScorerPtr& scorer);
33
37 bool insert(const ScorerPtr& scorer);
38
42
45 int32_t topDoc();
46
47 double topScore();
49 bool topSkipToAndAdjustElsePop(int32_t target);
50
54
56 void adjustTop();
57
59 int32_t size();
60
62 void clear();
63
64protected:
65 bool checkAdjustElsePop(bool cond);
66
70
71 void upHeap();
72 void downHeap();
73};
74
75}
76
77#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Utility template class to handle collections that can be safely copied and shared.
Definition Collection.h:17
Base class for all Lucene classes.
Definition LuceneObject.h:31
A ScorerDocQueue maintains a partial ordering of its Scorers such that the least Scorer can always be...
Definition ScorerDocQueue.h:16
int32_t _size
Definition ScorerDocQueue.h:26
void adjustTop()
Should be called when the scorer at top changes doc() value.
void put(const ScorerPtr &scorer)
Adds a Scorer to a ScorerDocQueue in log(size) time. If one tries to add more Scorers than maxSize Ar...
bool insert(const ScorerPtr &scorer)
Adds a Scorer to the ScorerDocQueue in log(size) time if either the ScorerDocQueue is not full,...
ScorerDocQueue(int32_t maxSize)
int32_t maxSize
Definition ScorerDocQueue.h:25
bool checkAdjustElsePop(bool cond)
ScorerPtr pop()
Removes and returns the least scorer of the ScorerDocQueue in log(size) time. Should not be used when...
ScorerPtr top()
Returns the least Scorer of the ScorerDocQueue in constant time. Should not be used when the queue is...
bool topSkipToAndAdjustElsePop(int32_t target)
void popNoResult()
Removes the least scorer of the ScorerDocQueue in log(size) time. Should not be used when the queue i...
HeapedScorerDocPtr topHSD
Definition ScorerDocQueue.h:27
void clear()
Removes all entries from the ScorerDocQueue.
int32_t topDoc()
Returns document number of the least Scorer of the ScorerDocQueue in constant time....
int32_t size()
Returns the number of scorers currently stored in the ScorerDocQueue.
Collection< HeapedScorerDocPtr > heap
Definition ScorerDocQueue.h:24
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< HeapedScorerDoc > HeapedScorerDocPtr
Definition LuceneTypes.h:531
boost::shared_ptr< Scorer > ScorerPtr
Definition LuceneTypes.h:429

clucene.sourceforge.net