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

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

Constructors
Constructor and Description
`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

Methods
`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`