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


AbstractField.h
Go to the documentation of this file.
1 // 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 ABSTRACTFIELD_H
8 #define ABSTRACTFIELD_H
9 
10 #include "Fieldable.h"
11 
12 namespace Lucene {
13 
14 class LPPAPI AbstractField : public Fieldable, public LuceneObject {
15 public:
17  enum Store {
22 
24  STORE_NO
25  };
26 
28  enum Index {
32 
36 
40 
49 
53  INDEX_ANALYZED_NO_NORMS
54  };
55 
57  enum TermVector {
60 
64 
68 
72 
77  TERM_VECTOR_WITH_POSITIONS_OFFSETS
78  };
79 
80 public:
81  virtual ~AbstractField();
82 
84 
85 protected:
86  AbstractField();
87  AbstractField(const String& name, Store store, Index index, TermVector termVector);
88 
89  String _name;
93  bool _omitNorms;
94  bool _isStored;
95  bool _isIndexed;
97  bool _isBinary;
98  bool lazy;
100  double boost;
101 
102  // the data object for all different kind of field values
103  FieldsData fieldsData;
104 
105  // pre-analyzed tokenStream for indexed fields
107 
108  // length/offset for all primitive types
109  int32_t binaryLength;
110  int32_t binaryOffset;
111 
112 public:
127  virtual void setBoost(double boost);
128 
136  virtual double getBoost();
137 
139  virtual String name();
140 
143  virtual bool isStored();
144 
146  virtual bool isIndexed();
147 
150  virtual bool isTokenized();
151 
156  virtual bool isTermVectorStored();
157 
160  virtual bool isStoreOffsetWithTermVector();
161 
163  virtual bool isStorePositionWithTermVector();
164 
166  virtual bool isBinary();
167 
171  virtual ByteArray getBinaryValue();
172 
176  virtual ByteArray getBinaryValue(ByteArray result);
177 
181  virtual int32_t getBinaryLength();
182 
186  virtual int32_t getBinaryOffset();
187 
189  virtual bool getOmitNorms();
190 
192  virtual bool getOmitTermFreqAndPositions();
193 
196  virtual void setOmitNorms(bool omitNorms);
197 
203  virtual void setOmitTermFreqAndPositions(bool omitTermFreqAndPositions);
204 
210  virtual bool isLazy();
211 
213  virtual String toString();
214 
215 protected:
216  void setStoreTermVector(TermVector termVector);
217 };
218 
219 }
220 
221 #endif
LUCENE_CLASS
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
Lucene::AbstractField::STORE_YES
Store the original field value in the index. This is useful for short texts like a document's title w...
Definition: AbstractField.h:21
Lucene::AbstractField::_isIndexed
bool _isIndexed
Definition: AbstractField.h:95
Lucene::AbstractField::_isBinary
bool _isBinary
Definition: AbstractField.h:97
Lucene::AbstractField::binaryOffset
int32_t binaryOffset
Definition: AbstractField.h:110
Lucene::AbstractField::INDEX_NOT_ANALYZED_NO_NORMS
Index the field's value without an Analyzer, and also disable the storing of norms....
Definition: AbstractField.h:48
Lucene::AbstractField::binaryLength
int32_t binaryLength
Definition: AbstractField.h:109
Lucene::AbstractField::TERM_VECTOR_YES
Store the term vectors of each document. A term vector is a list of the document's terms and their nu...
Definition: AbstractField.h:63
Lucene::AbstractField
Definition: AbstractField.h:14
Lucene::AbstractField::_omitNorms
bool _omitNorms
Definition: AbstractField.h:93
Lucene::AbstractField::storeOffsetWithTermVector
bool storeOffsetWithTermVector
Definition: AbstractField.h:91
Lucene::AbstractField::boost
double boost
Definition: AbstractField.h:100
Lucene::AbstractField::_isTokenized
bool _isTokenized
Definition: AbstractField.h:96
Lucene::AbstractField::_isStored
bool _isStored
Definition: AbstractField.h:94
Lucene
Definition: AbstractAllTermDocs.h:12
Lucene::LuceneObject
Base class for all Lucene classes.
Definition: LuceneObject.h:31
Lucene::AbstractField::TERM_VECTOR_NO
Do not store term vectors.
Definition: AbstractField.h:59
Lucene::AbstractField::omitTermFreqAndPositions
bool omitTermFreqAndPositions
Definition: AbstractField.h:99
Lucene::AbstractField::tokenStream
TokenStreamPtr tokenStream
Definition: AbstractField.h:106
Lucene::Fieldable
Synonymous with Field.
Definition: Fieldable.h:20
Lucene::AbstractField::Store
Store
Specifies whether and how a field should be stored.
Definition: AbstractField.h:17
Lucene::AbstractField::storeTermVector
bool storeTermVector
Definition: AbstractField.h:90
Lucene::AbstractField::INDEX_NOT_ANALYZED
Index the field's value without using an Analyzer, so it can be searched. As no analyzer is used the ...
Definition: AbstractField.h:39
Fieldable.h
Lucene::AbstractField::TERM_VECTOR_WITH_OFFSETS
Store the term vector + token offset information.
Definition: AbstractField.h:71
Lucene::TokenStreamPtr
boost::shared_ptr< TokenStream > TokenStreamPtr
Definition: LuceneTypes.h:63
Lucene::AbstractField::Index
Index
Specifies whether and how a field should be indexed.
Definition: AbstractField.h:28
Lucene::AbstractField::INDEX_ANALYZED
Index the tokens produced by running the field's value through an Analyzer. This is useful for common...
Definition: AbstractField.h:35
Lucene::AbstractField::lazy
bool lazy
Definition: AbstractField.h:98
Lucene::AbstractField::storePositionWithTermVector
bool storePositionWithTermVector
Definition: AbstractField.h:92
Lucene::AbstractField::TERM_VECTOR_WITH_POSITIONS
Store the term vector + token position information.
Definition: AbstractField.h:67
Lucene::AbstractField::INDEX_NO
Do not index the field value. This field can thus not be searched, but one can still access its conte...
Definition: AbstractField.h:31
Lucene::AbstractField::fieldsData
FieldsData fieldsData
Definition: AbstractField.h:103
Lucene::AbstractField::TermVector
TermVector
Specifies whether and how a field should have term vectors.
Definition: AbstractField.h:57
Lucene::AbstractField::_name
String _name
Definition: AbstractField.h:89

clucene.sourceforge.net