org.apache.lucene.analysis.standard
Class StandardTokenizer

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.standard.StandardTokenizer

public class StandardTokenizer
extends Tokenizer

A grammar-based tokenizer constructed with JFlex

This should be a good tokenizer for most European-language documents:

Many applications have specific tokenizer needs. If this tokenizer does not suit your application, please consider copying this source code directory to your project and maintaining your own grammar-based tokenizer.

You must specify the required Version compatibility when creating StandardAnalyzer:


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
AttributeSource.AttributeFactory, AttributeSource.State
 
Field Summary
static int ACRONYM
           
static int ACRONYM_DEP
          Deprecated. this solves a bug where HOSTs that end with '.' are identified as ACRONYMs. It is deprecated and will be removed in the next release.
static int ALPHANUM
           
static int APOSTROPHE
           
static int CJ
           
static int COMPANY
           
static int EMAIL
           
static int HOST
           
static int NUM
           
static String[] TOKEN_TYPES
          String token types that correspond to token type int constants
static String[] tokenImage
          Deprecated. Please use TOKEN_TYPES instead
 
Fields inherited from class org.apache.lucene.analysis.Tokenizer
input
 
Constructor Summary
StandardTokenizer(AttributeSource.AttributeFactory factory, Reader input, boolean replaceInvalidAcronym)
          Deprecated. Use StandardTokenizer(Version, org.apache.lucene.util.AttributeSource.AttributeFactory, Reader) instead
StandardTokenizer(AttributeSource source, Reader input, boolean replaceInvalidAcronym)
          Deprecated. Use StandardTokenizer(Version, AttributeSource, Reader) instead
StandardTokenizer(Reader input)
          Deprecated. Use StandardTokenizer(Version, Reader) instead
StandardTokenizer(Reader input, boolean replaceInvalidAcronym)
          Deprecated. Use StandardTokenizer(Version, Reader) instead
StandardTokenizer(Version matchVersion, AttributeSource.AttributeFactory factory, Reader input)
          Creates a new StandardTokenizer with a given AttributeSource.AttributeFactory
StandardTokenizer(Version matchVersion, AttributeSource source, Reader input)
          Creates a new StandardTokenizer with a given AttributeSource.
StandardTokenizer(Version matchVersion, Reader input)
          Creates a new instance of the StandardTokenizer.
 
Method Summary
 void end()
          This method is called by the consumer after the last token has been consumed, after TokenStream.incrementToken() returned false (using the new TokenStream API).
 int getMaxTokenLength()
           
 boolean incrementToken()
          Consumers (i.e., IndexWriter) use this method to advance the stream to the next token.
 boolean isReplaceInvalidAcronym()
          Deprecated. Remove in 3.X and make true the only valid value
 Token next()
          Deprecated. Will be removed in Lucene 3.0. This method is final, as it should not be overridden. Delegates to the backwards compatibility layer.
 Token next(Token reusableToken)
          Deprecated. Will be removed in Lucene 3.0. This method is final, as it should not be overridden. Delegates to the backwards compatibility layer.
 void reset(Reader reader)
          Expert: Reset the tokenizer to a new reader.
 void setMaxTokenLength(int length)
          Set the max allowed token length.
 void setReplaceInvalidAcronym(boolean replaceInvalidAcronym)
          Deprecated. Remove in 3.X and make true the only valid value See https://issues.apache.org/jira/browse/LUCENE-1068
 
Methods inherited from class org.apache.lucene.analysis.Tokenizer
close, correctOffset
 
Methods inherited from class org.apache.lucene.analysis.TokenStream
getOnlyUseNewAPI, reset, setOnlyUseNewAPI
 
Methods inherited from class org.apache.lucene.util.AttributeSource
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, restoreState, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

ALPHANUM

public static final int ALPHANUM
See Also:
Constant Field Values

APOSTROPHE

public static final int APOSTROPHE
See Also:
Constant Field Values

ACRONYM

public static final int ACRONYM
See Also:
Constant Field Values

COMPANY

public static final int COMPANY
See Also:
Constant Field Values

EMAIL

public static final int EMAIL
See Also:
Constant Field Values

HOST

public static final int HOST
See Also:
Constant Field Values

NUM

public static final int NUM
See Also:
Constant Field Values

CJ

public static final int CJ
See Also:
Constant Field Values

ACRONYM_DEP

public static final int ACRONYM_DEP
Deprecated. this solves a bug where HOSTs that end with '.' are identified as ACRONYMs. It is deprecated and will be removed in the next release.
See Also:
Constant Field Values

TOKEN_TYPES

public static final String[] TOKEN_TYPES
String token types that correspond to token type int constants


tokenImage

public static final String[] tokenImage
Deprecated. Please use TOKEN_TYPES instead
Constructor Detail

StandardTokenizer

public StandardTokenizer(Reader input)
Deprecated. Use StandardTokenizer(Version, Reader) instead

Creates a new instance of the StandardTokenizer. Attaches the input to a newly created JFlex scanner.


StandardTokenizer

public StandardTokenizer(Reader input,
                         boolean replaceInvalidAcronym)
Deprecated. Use StandardTokenizer(Version, Reader) instead

Creates a new instance of the StandardTokenizer. Attaches the input to the newly created JFlex scanner.

Parameters:
input - The input reader
replaceInvalidAcronym - Set to true to replace mischaracterized acronyms with HOST. See http://issues.apache.org/jira/browse/LUCENE-1068

StandardTokenizer

public StandardTokenizer(Version matchVersion,
                         Reader input)
Creates a new instance of the StandardTokenizer. Attaches the input to the newly created JFlex scanner.

Parameters:
input - The input reader See http://issues.apache.org/jira/browse/LUCENE-1068

StandardTokenizer

public StandardTokenizer(AttributeSource source,
                         Reader input,
                         boolean replaceInvalidAcronym)
Deprecated. Use StandardTokenizer(Version, AttributeSource, Reader) instead

Creates a new StandardTokenizer with a given AttributeSource.


StandardTokenizer

public StandardTokenizer(Version matchVersion,
                         AttributeSource source,
                         Reader input)
Creates a new StandardTokenizer with a given AttributeSource.


StandardTokenizer

public StandardTokenizer(AttributeSource.AttributeFactory factory,
                         Reader input,
                         boolean replaceInvalidAcronym)
Deprecated. Use StandardTokenizer(Version, org.apache.lucene.util.AttributeSource.AttributeFactory, Reader) instead

Creates a new StandardTokenizer with a given AttributeSource.AttributeFactory


StandardTokenizer

public StandardTokenizer(Version matchVersion,
                         AttributeSource.AttributeFactory factory,
                         Reader input)
Creates a new StandardTokenizer with a given AttributeSource.AttributeFactory

Method Detail

setMaxTokenLength

public void setMaxTokenLength(int length)
Set the max allowed token length. Any token longer than this is skipped.


getMaxTokenLength

public int getMaxTokenLength()
See Also:
setMaxTokenLength(int)

incrementToken

public final boolean incrementToken()
                             throws IOException
Description copied from class: TokenStream
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 AttributeSource.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 AttributeSource.addAttribute(Class) and AttributeSource.getAttribute(Class) or downcasts, 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 TokenStream.incrementToken().

Overrides:
incrementToken in class TokenStream
Returns:
false for end of stream; true otherwise

Note that this method will be defined abstract in Lucene 3.0.

Throws:
IOException

end

public final void end()
Description copied from class: TokenStream
This method is called by the consumer after the last token has been consumed, after TokenStream.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.

Overrides:
end in class TokenStream

next

public final Token next(Token reusableToken)
                 throws IOException
Deprecated. Will be removed in Lucene 3.0. This method is final, as it should not be overridden. Delegates to the backwards compatibility layer.

Description copied from class: TokenStream
Returns the next token in the stream, or null at EOS. When possible, the input Token should be used as the returned Token (this gives fastest tokenization performance), but this is not required and a new Token may be returned. Callers may re-use a single Token instance for successive calls to this method.

This implicitly defines a "contract" between consumers (callers of this method) and producers (implementations of this method that are the source for tokens):

Also, the producer must make no assumptions about a Token after it has been returned: the caller may arbitrarily change it. If the producer needs to hold onto the Token for subsequent calls, it must clone() it before storing it. Note that a TokenFilter is considered a consumer.

Overrides:
next in class TokenStream
Parameters:
reusableToken - a Token that may or may not be used to return; this parameter should never be null (the callee is not required to check for null before using it, but it is a good idea to assert that it is not null.)
Returns:
next Token in the stream or null if end-of-stream was hit
Throws:
IOException

next

public final Token next()
                 throws IOException
Deprecated. Will be removed in Lucene 3.0. This method is final, as it should not be overridden. Delegates to the backwards compatibility layer.

Description copied from class: TokenStream
Returns the next Token in the stream, or null at EOS.

Overrides:
next in class TokenStream
Throws:
IOException

reset

public void reset(Reader reader)
           throws IOException
Description copied from class: Tokenizer
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.

Overrides:
reset in class Tokenizer
Throws:
IOException

isReplaceInvalidAcronym

public boolean isReplaceInvalidAcronym()
Deprecated. Remove in 3.X and make true the only valid value

Prior to https://issues.apache.org/jira/browse/LUCENE-1068, StandardTokenizer mischaracterized as acronyms tokens like www.abc.com when they should have been labeled as hosts instead.

Returns:
true if StandardTokenizer now returns these tokens as Hosts, otherwise false

setReplaceInvalidAcronym

public void setReplaceInvalidAcronym(boolean replaceInvalidAcronym)
Deprecated. Remove in 3.X and make true the only valid value See https://issues.apache.org/jira/browse/LUCENE-1068

Parameters:
replaceInvalidAcronym - Set to true to replace mischaracterized acronyms as HOST.


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