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
FreqProxTermsWriter.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 FREQPROXTERMSWRITER_H
8
#define FREQPROXTERMSWRITER_H
9
10
#include "
TermsHashConsumer.h
"
11
#include "
RawPostingList.h
"
12
13
namespace
Lucene {
14
15
class
FreqProxTermsWriter
:
public
TermsHashConsumer
{
16
public
:
17
virtual
~FreqProxTermsWriter
();
18
19
LUCENE_CLASS
(
FreqProxTermsWriter
);
20
21
protected
:
22
ByteArray
payloadBuffer
;
23
24
public
:
25
virtual
TermsHashConsumerPerThreadPtr
addThread
(
const
TermsHashPerThreadPtr
& perThread);
26
virtual
void
createPostings
(
Collection<RawPostingListPtr>
postings, int32_t start, int32_t count);
27
virtual
void
closeDocStore
(
const
SegmentWriteStatePtr
& state);
28
virtual
void
abort
();
29
virtual
void
flush
(MapTermsHashConsumerPerThreadCollectionTermsHashConsumerPerField threadsAndFields,
const
SegmentWriteStatePtr
& state);
30
33
void
appendPostings
(
Collection<FreqProxTermsWriterPerFieldPtr>
fields,
const
FormatPostingsFieldsConsumerPtr
& consumer);
34
35
virtual
int32_t
bytesPerPosting
();
36
37
protected
:
38
static
int32_t
compareText
(
const
wchar_t
* text1, int32_t pos1,
const
wchar_t
* text2, int32_t pos2);
39
};
40
41
class
FreqProxTermsWriterPostingList
:
public
RawPostingList
{
42
public
:
43
FreqProxTermsWriterPostingList
();
44
virtual
~FreqProxTermsWriterPostingList
();
45
46
LUCENE_CLASS
(
FreqProxTermsWriterPostingList
);
47
48
public
:
49
int32_t
docFreq
;
// # times this term occurs in the current doc
50
int32_t
lastDocID
;
// Last docID where this term occurred
51
int32_t
lastDocCode
;
// Code for prior doc
52
int32_t
lastPosition
;
// Last position where this term occurred
53
};
54
55
}
56
57
#endif
clucene.sourceforge.net