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
CachingSpanFilter.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 CACHINGSPANFILTER_H
8
#define CACHINGSPANFILTER_H
9
10
#include "
SpanFilter.h
"
11
#include "
CachingWrapperFilter.h
"
12
13
namespace
Lucene {
14
17
class
LPPAPI
CachingSpanFilter
:
public
SpanFilter
{
18
public
:
20
CachingSpanFilter
(
const
SpanFilterPtr
& filter,
CachingWrapperFilter::DeletesMode
deletesMode =
CachingWrapperFilter::DELETES_RECACHE
);
21
virtual
~
CachingSpanFilter
();
22
23
LUCENE_CLASS
(
CachingSpanFilter
);
24
25
protected
:
26
SpanFilterPtr
filter;
27
FilterCachePtr
cache
;
28
29
public
:
30
// for testing
31
int32_t
hitCount
;
32
int32_t
missCount
;
33
34
public
:
35
virtual
DocIdSetPtr
getDocIdSet(
const
IndexReaderPtr
& reader);
36
virtual
SpanFilterResultPtr
bitSpans(
const
IndexReaderPtr
& reader);
37
38
virtual
String toString();
39
virtual
bool
equals(
const
LuceneObjectPtr
& other);
40
virtual
int32_t hashCode();
41
42
protected
:
43
SpanFilterResultPtr
getCachedResult(
const
IndexReaderPtr
& reader);
44
};
45
46
}
47
48
#endif
clucene.sourceforge.net