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
FieldsWriter.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 FIELDSWRITER_H
8
#define FIELDSWRITER_H
9
10
#include "
LuceneObject.h
"
11
12
namespace
Lucene {
13
14
class
FieldsWriter
:
public
LuceneObject
{
15
public
:
16
FieldsWriter
(
const
DirectoryPtr
& d,
const
String& segment,
const
FieldInfosPtr
& fn);
17
FieldsWriter
(
const
IndexOutputPtr
& fdx,
const
IndexOutputPtr
& fdt,
const
FieldInfosPtr
& fn);
18
virtual
~FieldsWriter
();
19
20
LUCENE_CLASS
(
FieldsWriter
);
21
22
protected
:
23
FieldInfosPtr
fieldInfos
;
24
IndexOutputPtr
fieldsStream
;
25
IndexOutputPtr
indexStream
;
26
bool
doClose
;
27
28
public
:
29
static
const
uint8_t
FIELD_IS_TOKENIZED
;
30
static
const
uint8_t
FIELD_IS_BINARY
;
31
static
const
uint8_t
FIELD_IS_COMPRESSED
;
32
33
static
const
int32_t
FORMAT
;
// Original format
34
static
const
int32_t
FORMAT_VERSION_UTF8_LENGTH_IN_BYTES
;
// Changed strings to UTF8
35
static
const
int32_t
FORMAT_LUCENE_3_0_NO_COMPRESSED_FIELDS
;
// Lucene 3.0: Removal of compressed fields
36
37
// NOTE: if you introduce a new format, make it 1 higher than the current one, and always change this
38
// if you switch to a new format!
39
static
const
int32_t
FORMAT_CURRENT
;
40
41
public
:
42
void
setFieldsStream
(
const
IndexOutputPtr
& stream);
43
46
void
flushDocument
(int32_t numStoredFields,
const
RAMOutputStreamPtr
& buffer);
47
48
void
skipDocument
();
49
void
flush
();
50
void
close
();
51
void
writeField
(
const
FieldInfoPtr
& fi,
const
FieldablePtr
& field);
52
55
void
addRawDocuments
(
const
IndexInputPtr
& stream,
Collection<int32_t>
lengths, int32_t numDocs);
56
57
void
addDocument
(
const
DocumentPtr
& doc);
58
};
59
60
}
61
62
#endif
clucene.sourceforge.net