org.apache.lucene.analysis.core
Class LetterTokenizer

java.lang.Object
  extended by org.apache.lucene.util.AttributeSource
      extended by org.apache.lucene.analysis.TokenStream
          extended by org.apache.lucene.analysis.Tokenizer
              extended by org.apache.lucene.analysis.util.CharTokenizer
                  extended by org.apache.lucene.analysis.core.LetterTokenizer
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
ArabicLetterTokenizer, LowerCaseTokenizer

public class LetterTokenizer
extends CharTokenizer

A LetterTokenizer is a tokenizer that divides text at non-letters. That's to say, it defines tokens as maximal strings of adjacent letters, as defined by java.lang.Character.isLetter() predicate.

Note: this does a decent job for most European languages, but does a terrible job for some Asian languages, where words are not separated by spaces.

You must specify the required Version compatibility when creating LetterTokenizer:


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
AttributeSource.AttributeFactory, AttributeSource.State
 
Field Summary
 
Fields inherited from class org.apache.lucene.analysis.Tokenizer
input
 
Constructor Summary
LetterTokenizer(Version matchVersion, AttributeSource.AttributeFactory factory, Reader in)
          Construct a new LetterTokenizer using a given AttributeSource.AttributeFactory.
LetterTokenizer(Version matchVersion, AttributeSource source, Reader in)
          Construct a new LetterTokenizer using a given AttributeSource.
LetterTokenizer(Version matchVersion, Reader in)
          Construct a new LetterTokenizer.
 
Method Summary
protected  boolean isTokenChar(int c)
          Collects only characters which satisfy Character.isLetter(int).
 
Methods inherited from class org.apache.lucene.analysis.util.CharTokenizer
end, incrementToken, normalize, reset
 
Methods inherited from class org.apache.lucene.analysis.Tokenizer
close, correctOffset, setReader
 
Methods inherited from class org.apache.lucene.util.AttributeSource
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LetterTokenizer

public LetterTokenizer(Version matchVersion,
                       Reader in)
Construct a new LetterTokenizer.

Parameters:
matchVersion - Lucene version to match See above
in - the input to split up into tokens

LetterTokenizer

public LetterTokenizer(Version matchVersion,
                       AttributeSource source,
                       Reader in)
Construct a new LetterTokenizer using a given AttributeSource.

Parameters:
matchVersion - Lucene version to match See above
source - the attribute source to use for this Tokenizer
in - the input to split up into tokens

LetterTokenizer

public LetterTokenizer(Version matchVersion,
                       AttributeSource.AttributeFactory factory,
                       Reader in)
Construct a new LetterTokenizer using a given AttributeSource.AttributeFactory.

Parameters:
matchVersion - Lucene version to match See above
factory - the attribute factory to use for this Tokenizer
in - the input to split up into tokens
Method Detail

isTokenChar

protected boolean isTokenChar(int c)
Collects only characters which satisfy Character.isLetter(int).

Specified by:
isTokenChar in class CharTokenizer


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.