## org.apache.lucene.analysis.core
Class LetterTokenizer

    java.lang.Object
      org.apache.lucene.util.AttributeSource
          org.apache.lucene.analysis.TokenStream
              org.apache.lucene.analysis.Tokenizer
                  org.apache.lucene.analysis.util.CharTokenizer
                      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`:

- As of 3.1, `CharTokenizer` uses an int based API to normalize and detect token characters. See `CharTokenizer.isTokenChar(int)` and `CharTokenizer.normalize(int)` for details.

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, 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.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.