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


Loading...
Searching...
No Matches
Field.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 FIELD_H
8#define FIELD_H
9
10#include "AbstractField.h"
11
12namespace Lucene {
13
14class LPPAPI Field : public AbstractField {
15public:
23 Field(const String& name, const String& value, Store store, Index index);
24
32 Field(const String& name, const String& value, Store store, Index index, TermVector termVector);
33
40 Field(const String& name, const ReaderPtr& reader);
41
49 Field(const String& name, const ReaderPtr& reader, TermVector termVector);
50
57 Field(const String& name, const TokenStreamPtr& tokenStream);
58
66 Field(const String& name, const TokenStreamPtr& tokenStream, TermVector termVector);
67
73 Field(const String& name, ByteArray value, Store store);
74
82 Field(const String& name, ByteArray value, int32_t offset, int32_t length, Store store);
83
84 virtual ~Field();
85
87
88public:
89 using AbstractField::isStored;
90 using AbstractField::isIndexed;
91
93 static bool isStored(Store store);
94
96 static bool isIndexed(Index index);
97 static bool isAnalyzed(Index index);
98 static bool omitNorms(Index index);
99
101 static Field::Index toIndex(bool indexed, bool analyzed);
102
104 static Field::Index toIndex(bool indexed, bool analyzed, bool omitNorms);
105
107 static bool isStored(TermVector termVector);
108 static bool withPositions(TermVector termVector);
109 static bool withOffsets(TermVector termVector);
110
112 static Field::TermVector toTermVector(bool stored, bool withOffsets, bool withPositions);
113
116 virtual String stringValue();
117
121
125
131 virtual void setValue(const String& value);
132
134 virtual void setValue(const ReaderPtr& value);
135
137 virtual void setValue(ByteArray value);
138
140 virtual void setValue(ByteArray value, int32_t offset, int32_t length);
141
144 virtual void setTokenStream(const TokenStreamPtr& tokenStream);
145
146protected:
147 void ConstructField(const String& name, const String& value, Store store, Index index, TermVector termVector);
148 void ConstructField(const String& name, const ReaderPtr& reader, TermVector termVector);
149 void ConstructField(const String& name, const TokenStreamPtr& tokenStream, TermVector termVector);
150 void ConstructField(const String& name, ByteArray value, int32_t offset, int32_t length, Store store);
151};
152
153}
154
155#endif
#define LUCENE_CLASS(Name)
Definition LuceneObject.h:24
Definition AbstractField.h:14
Store
Specifies whether and how a field should be stored.
Definition AbstractField.h:17
Index
Specifies whether and how a field should be indexed.
Definition AbstractField.h:28
TermVector
Specifies whether and how a field should have term vectors.
Definition AbstractField.h:57
Definition Field.h:14
virtual ~Field()
Field(const String &name, const ReaderPtr &reader)
Create a tokenized and indexed field that is not stored. Term vectors will not be stored....
static bool isIndexed(Index index)
Specifies whether and how a field should be indexed.
void ConstructField(const String &name, ByteArray value, int32_t offset, int32_t length, Store store)
static bool isStored(TermVector termVector)
Specifies whether and how a field should have term vectors.
virtual ReaderPtr readerValue()
The value of the field as a Reader, or null. If null, the String value or binary value is used....
static bool withOffsets(TermVector termVector)
virtual void setValue(ByteArray value)
Change the value of this field.
Field(const String &name, ByteArray value, int32_t offset, int32_t length, Store store)
Create a stored field with binary value. Optionally the value may be compressed.
Field(const String &name, const TokenStreamPtr &tokenStream)
Create a tokenized and indexed field that is not stored. Term vectors will not be stored....
virtual String stringValue()
The value of the field as a String, or null. If null, the Reader value or binary value is used....
Field(const String &name, const ReaderPtr &reader, TermVector termVector)
Create a tokenized and indexed field that is not stored, optionally with storing term vectors....
Field(const String &name, const String &value, Store store, Index index, TermVector termVector)
Create a field by specifying its name, value and how it will be saved in the index.
void ConstructField(const String &name, const String &value, Store store, Index index, TermVector termVector)
static bool isStored(Store store)
Specifies whether and how a field should be stored.
virtual TokenStreamPtr tokenStreamValue()
The value of the field as a TokesStream, or null. If null, the Reader value or String value is analyz...
virtual void setValue(const String &value)
Change the value of this field. This can be used during indexing to re-use a single Field instance to...
static bool withPositions(TermVector termVector)
virtual void setTokenStream(const TokenStreamPtr &tokenStream)
Sets the token stream to be used for indexing and causes isIndexed() and isTokenized() to return true...
static Field::Index toIndex(bool indexed, bool analyzed, bool omitNorms)
Get the best representation of the index given the flags.
static Field::TermVector toTermVector(bool stored, bool withOffsets, bool withPositions)
Get the best representation of the index given the flags.
void ConstructField(const String &name, const TokenStreamPtr &tokenStream, TermVector termVector)
static Field::Index toIndex(bool indexed, bool analyzed)
Get the best representation of the index given the flags.
static bool isAnalyzed(Index index)
void ConstructField(const String &name, const ReaderPtr &reader, TermVector termVector)
Field(const String &name, ByteArray value, Store store)
Create a stored field with binary value. Optionally the value may be compressed.
Field(const String &name, const String &value, Store store, Index index)
Create a field by specifying its name, value and how it will be saved in the index....
Field(const String &name, const TokenStreamPtr &tokenStream, TermVector termVector)
Create a tokenized and indexed field that is not stored, optionally with storing term vectors....
virtual void setValue(ByteArray value, int32_t offset, int32_t length)
Change the value of this field.
static bool omitNorms(Index index)
virtual void setValue(const ReaderPtr &value)
Change the value of this field.
Definition AbstractAllTermDocs.h:12
boost::shared_ptr< TokenStream > TokenStreamPtr
Definition LuceneTypes.h:63
boost::shared_ptr< Reader > ReaderPtr
Definition LuceneTypes.h:547

clucene.sourceforge.net