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
    Modifier and Type | Method and Description
    --- | ---
    `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.