7#ifndef TIMELIMITINGCOLLECTOR_H
8#define TIMELIMITINGCOLLECTOR_H
92 friend class TimerThread;
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Collectors are primarily meant to be used to gather raw results from a search, and implement sorting ...
Definition Collector.h:100
The TimeLimitingCollector is used to timeout search requests that take longer than the maximum allowe...
Definition TimeLimitingCollector.h:17
void setGreedy(bool greedy)
Sets whether this time limited collector is greedy.
static void stopTimer()
Stop timer thread.
virtual bool acceptsDocsOutOfOrder()
Return true if this collector does not require the matching docIDs to be delivered in int sort order ...
static TimerThreadPtr TIMER_THREAD()
Initialize a single static timer thread to be used by all TimeLimitedCollector instances.
bool greedy
Definition TimeLimitingCollector.h:39
static void setResolution(int64_t newResolution)
Set the timer resolution. The default timer resolution is 20 milliseconds. This means that a search r...
virtual ~TimeLimitingCollector()
static int64_t getResolution()
Return the timer resolution.
static int64_t resolution
Definition TimeLimitingCollector.h:38
virtual void collect(int32_t doc)
Calls Collector#collect(int) on the decorated Collector unless the allowed time has passed,...
int32_t docBase
Definition TimeLimitingCollector.h:45
static const int32_t DEFAULT_RESOLUTION
Default timer resolution.
Definition TimeLimitingCollector.h:31
int64_t timeout
Definition TimeLimitingCollector.h:42
CollectorPtr collector
Definition TimeLimitingCollector.h:43
virtual void setScorer(const ScorerPtr &scorer)
Called before successive calls to collect(int32_t). Implementations that need the score of the curren...
virtual void setNextReader(const IndexReaderPtr &reader, int32_t docBase)
Called before collecting from each IndexReader. All doc ids in collect(int32_t) will correspond to re...
TimeLimitingCollector(const CollectorPtr &collector, int64_t timeAllowed)
Create a TimeLimitedCollector wrapper over another Collector with a specified timeout.
bool DEFAULT_GREEDY
Default for isGreedy().
Definition TimeLimitingCollector.h:35
int64_t t0
Definition TimeLimitingCollector.h:41
bool isGreedy()
Checks if this time limited collector is greedy in collecting the last hit. A non greedy collector,...
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< TimerThread > TimerThreadPtr
Definition LuceneTypes.h:470
boost::shared_ptr< Collector > CollectorPtr
Definition LuceneTypes.h:295
boost::shared_ptr< IndexReader > IndexReaderPtr
Definition LuceneTypes.h:157
boost::shared_ptr< Scorer > ScorerPtr
Definition LuceneTypes.h:429