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


NumericTokenStream.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 NUMERICTOKENSTREAM_H
8 #define NUMERICTOKENSTREAM_H
9 
10 #include "TokenStream.h"
11 
12 namespace Lucene {
13 
52 class LPPAPI NumericTokenStream : public TokenStream {
53 public:
58 
61  NumericTokenStream(int32_t precisionStep);
62 
66  NumericTokenStream(const AttributeSourcePtr& source, int32_t precisionStep);
67 
71  NumericTokenStream(const AttributeFactoryPtr& factory, int32_t precisionStep);
72 
74 
76 
77 protected:
81 
82  int32_t shift;
83  int32_t valSize; // valSize == 0 means not initialized
84  int32_t precisionStep;
85 
86  int64_t value;
87 
88 public:
90  static const String& TOKEN_TYPE_FULL_PREC();
91 
93  static const String& TOKEN_TYPE_LOWER_PREC();
94 
100 
106 
112 
113  virtual void reset();
114  virtual bool incrementToken();
115  virtual String toString();
116 };
117 
118 }
119 
120 #endif
#define LUCENE_CLASS(Name)
Definition: LuceneObject.h:24
This class provides a TokenStream for indexing numeric values that can be used by NumericRangeQuery o...
Definition: NumericTokenStream.h:52
static const String & TOKEN_TYPE_LOWER_PREC()
The lower precision tokens gets this token type assigned.
static const String & TOKEN_TYPE_FULL_PREC()
The full precision token gets this token type assigned.
TermAttributePtr termAtt
Definition: NumericTokenStream.h:75
NumericTokenStreamPtr setIntValue(int32_t value)
Initializes the token stream with the supplied int value.
int64_t value
Definition: NumericTokenStream.h:86
int32_t precisionStep
Definition: NumericTokenStream.h:84
int32_t valSize
Definition: NumericTokenStream.h:83
virtual bool incrementToken()
Consumers (ie., IndexWriter) use this method to advance the stream to the next token....
NumericTokenStream()
Creates a token stream for numeric values using the default precisionStep {} (4). The stream is not y...
TypeAttributePtr typeAtt
Definition: NumericTokenStream.h:79
int32_t shift
Definition: NumericTokenStream.h:82
NumericTokenStreamPtr setLongValue(int64_t value)
Initializes the token stream with the supplied long value.
NumericTokenStream(const AttributeSourcePtr &source, int32_t precisionStep)
Creates a token stream for numeric values with the specified precisionStep using the given {}....
NumericTokenStream(const AttributeFactoryPtr &factory, int32_t precisionStep)
Creates a token stream for numeric values with the specified precisionStep using the given {}....
NumericTokenStream(int32_t precisionStep)
Creates a token stream for numeric values with the specified precisionStep. The stream is not yet ini...
PositionIncrementAttributePtr posIncrAtt
Definition: NumericTokenStream.h:80
virtual String toString()
Returns a string representation of the object.
virtual void reset()
Resets this stream to the beginning. This is an optional operation, so subclasses may or may not impl...
NumericTokenStreamPtr setDoubleValue(double value)
Initializes the token stream with the supplied double value.
A TokenStream enumerates the sequence of tokens, either from Fields of a Document or from query text.
Definition: TokenStream.h:44
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< AttributeSource > AttributeSourcePtr
Definition: LuceneTypes.h:520
boost::shared_ptr< PositionIncrementAttribute > PositionIncrementAttributePtr
Definition: LuceneTypes.h:45
boost::shared_ptr< TermAttribute > TermAttributePtr
Definition: LuceneTypes.h:58
boost::shared_ptr< NumericTokenStream > NumericTokenStreamPtr
Definition: LuceneTypes.h:39
boost::shared_ptr< AttributeFactory > AttributeFactoryPtr
Definition: LuceneTypes.h:519
boost::shared_ptr< TypeAttribute > TypeAttributePtr
Definition: LuceneTypes.h:64

clucene.sourceforge.net