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


lucene::analysis::Analyzer Class Reference

An Analyzer builds TokenStreams, which analyze text. More...

#include <AnalysisHeader.h>

Inheritance diagram for lucene::analysis::Analyzer:

lucene::analysis::KeywordAnalyzer lucene::analysis::PerFieldAnalyzerWrapper lucene::analysis::SimpleAnalyzer lucene::analysis::standard::StandardAnalyzer lucene::analysis::StopAnalyzer lucene::analysis::WhitespaceAnalyzer

Public Member Functions

virtual TokenStreamtokenStream (const TCHAR *fieldName, lucene::util::Reader *reader)=0
 Creates a TokenStream which tokenizes all the text in the provided Reader.
virtual ~Analyzer ()
virtual int32_t getPositionIncrementGap (const TCHAR *fieldName)
 Invoked before indexing a Field instance if terms have already been added to that field.

Detailed Description

An Analyzer builds TokenStreams, which analyze text.

It thus represents a policy for extracting index terms from text.

Typical implementations first build a Tokenizer, which breaks the stream of characters from the Reader into raw Tokens. One or more TokenFilters may then be applied to the output of the Tokenizer.

WARNING: You must override one of the methods defined by this class in your subclass or the Analyzer will enter an infinite loop.


Constructor & Destructor Documentation

virtual lucene::analysis::Analyzer::~Analyzer (  )  [inline, virtual]


Member Function Documentation

virtual TokenStream* lucene::analysis::Analyzer::tokenStream ( const TCHAR *  fieldName,
lucene::util::Reader reader 
) [pure virtual]

Creates a TokenStream which tokenizes all the text in the provided Reader.

Default implementation forwards to tokenStream(Reader) for compatibility with older version. Override to allow Analyzer to choose strategy based on document and/or field. Must be able to handle null field name for backward compatibility.

Implemented in lucene::analysis::WhitespaceAnalyzer, lucene::analysis::SimpleAnalyzer, lucene::analysis::StopAnalyzer, lucene::analysis::PerFieldAnalyzerWrapper, lucene::analysis::KeywordAnalyzer, and lucene::analysis::standard::StandardAnalyzer.

virtual int32_t lucene::analysis::Analyzer::getPositionIncrementGap ( const TCHAR *  fieldName  )  [virtual]

Invoked before indexing a Field instance if terms have already been added to that field.

This allows custom analyzers to place an automatic position increment gap between Field instances using the same field name. The default value position increment gap is 0. With a 0 position increment gap and the typical default token position increment of 1, all terms in a field, including across Field instances, are in successive positions, allowing exact PhraseQuery matches, for instance, across Field instance boundaries.

Parameters:
fieldName Field name being indexed.
Returns:
position increment gap, added to the next token emitted from tokenStream(TCHAR*, Reader*)


The documentation for this class was generated from the following file:

clucene.sourceforge.net