public abstract class

CharTokenizer

extends Tokenizer
java.lang.Object
   ↳ org.apache.lucene.util.AttributeSource
     ↳ org.apache.lucene.analysis.TokenStream
       ↳ org.apache.lucene.analysis.Tokenizer
         ↳ org.apache.lucene.analysis.CharTokenizer
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

An abstract base class for simple, character-oriented tokenizers.

Summary

[Expand]
Inherited Fields
From class org.apache.lucene.analysis.Tokenizer
Public Constructors
CharTokenizer(Reader input)
CharTokenizer(AttributeSource source, Reader input)
CharTokenizer(AttributeSource.AttributeFactory factory, Reader input)
Public Methods
final void end()
This method is called by the consumer after the last token has been consumed, after incrementToken() returned false (using the new TokenStream API).
final boolean incrementToken()
Consumers (i.e., IndexWriter) use this method to advance the stream to the next token.
void reset(Reader input)
Expert: Reset the tokenizer to a new reader.
Protected Methods
abstract boolean isTokenChar(char c)
Returns true iff a character should be included in a token.
char normalize(char c)
Called on each token character to normalize it before it is added to the token.
[Expand]
Inherited Methods
From class org.apache.lucene.analysis.Tokenizer
From class org.apache.lucene.analysis.TokenStream
From class org.apache.lucene.util.AttributeSource
From class java.lang.Object
From interface java.io.Closeable

Public Constructors

public CharTokenizer (Reader input)

public CharTokenizer (AttributeSource source, Reader input)

public CharTokenizer (AttributeSource.AttributeFactory factory, Reader input)

Public Methods

public final void end ()

This method is called by the consumer after the last token has been consumed, after incrementToken() returned false (using the new TokenStream API). Streams implementing the old API should upgrade to use this feature.

This method can be used to perform any end-of-stream operations, such as setting the final offset of a stream. The final offset of a stream might differ from the offset of the last token eg in case one or more whitespaces followed after the last token, but a WhitespaceTokenizer was used.

public final boolean incrementToken ()

Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate AttributeImpls with the attributes of the next token.

The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use captureState() to create a copy of the current attribute state.

This method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to addAttribute(Class) and getAttribute(Class), references to all AttributeImpls that this stream uses should be retrieved during instantiation.

To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in incrementToken().

Returns
  • false for end of stream; true otherwise
Throws
IOException

public void reset (Reader input)

Expert: Reset the tokenizer to a new reader. Typically, an analyzer (in its reusableTokenStream method) will use this to re-use a previously created tokenizer.

Throws
IOException

Protected Methods

protected abstract boolean isTokenChar (char c)

Returns true iff a character should be included in a token. This tokenizer generates as tokens adjacent sequences of characters which satisfy this predicate. Characters for which this is false are used to define token boundaries and are not included in tokens.

protected char normalize (char c)

Called on each token character to normalize it before it is added to the token. The default implementation does nothing. Subclasses may use this to, e.g., lowercase tokens.