org.apache.lucene.analysis.util
Class FilteringTokenFilter

java.lang.Object
  extended by org.apache.lucene.util.AttributeSource
      extended by org.apache.lucene.analysis.TokenStream
          extended by org.apache.lucene.analysis.TokenFilter
              extended by org.apache.lucene.analysis.util.FilteringTokenFilter
All Implemented Interfaces:
Closeable
Direct Known Subclasses:
CodepointCountFilter, KeepWordFilter, LengthFilter, StopFilter, TypeTokenFilter

public abstract class FilteringTokenFilter
extends TokenFilter

Abstract base class for TokenFilters that may remove tokens. You have to implement accept() and return a boolean if the current token should be preserved. incrementToken() uses this method to decide if a token should be passed to the caller.

As of Lucene 4.4, an IllegalArgumentException is thrown when trying to disable position increments when filtering terms.


Nested Class Summary
 
Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
AttributeSource.AttributeFactory, AttributeSource.State
 
Field Summary
protected  Version version
           
 
Fields inherited from class org.apache.lucene.analysis.TokenFilter
input
 
Constructor Summary
FilteringTokenFilter(Version version, boolean enablePositionIncrements, TokenStream input)
          Deprecated. enablePositionIncrements=false is not supported anymore as of Lucene 4.4
FilteringTokenFilter(Version version, TokenStream in)
          Create a new FilteringTokenFilter.
 
Method Summary
protected abstract  boolean accept()
          Override this method and return if the current input token should be returned by incrementToken().
 void end()
           
 boolean getEnablePositionIncrements()
           
 boolean incrementToken()
           
 void reset()
           
 void setEnablePositionIncrements(boolean enable)
          Deprecated. enablePositionIncrements=false is not supported anymore as of Lucene 4.4
 
Methods inherited from class org.apache.lucene.analysis.TokenFilter
close
 
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, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

version

protected final Version version
Constructor Detail

FilteringTokenFilter

@Deprecated
public FilteringTokenFilter(Version version,
                                       boolean enablePositionIncrements,
                                       TokenStream input)
Deprecated. enablePositionIncrements=false is not supported anymore as of Lucene 4.4

Create a new FilteringTokenFilter.

Parameters:
version - the Lucene match version
enablePositionIncrements - whether to increment position increments when filtering out terms
input - the input to consume

FilteringTokenFilter

public FilteringTokenFilter(Version version,
                            TokenStream in)
Create a new FilteringTokenFilter.

Parameters:
version - the Lucene match version
in - the TokenStream to consume
Method Detail

accept

protected abstract boolean accept()
                           throws IOException
Override this method and return if the current input token should be returned by incrementToken().

Throws:
IOException

incrementToken

public final boolean incrementToken()
                             throws IOException
Specified by:
incrementToken in class TokenStream
Throws:
IOException

reset

public void reset()
           throws IOException
Overrides:
reset in class TokenFilter
Throws:
IOException

getEnablePositionIncrements

public boolean getEnablePositionIncrements()
See Also:
setEnablePositionIncrements(boolean)

setEnablePositionIncrements

@Deprecated
public void setEnablePositionIncrements(boolean enable)
Deprecated. enablePositionIncrements=false is not supported anymore as of Lucene 4.4

If true, this TokenFilter will preserve positions of the incoming tokens (ie, accumulate and set position increments of the removed tokens). Generally, true is best as it does not lose information (positions of the original tokens) during indexing.

When set, when a token is stopped (omitted), the position increment of the following token is incremented.

NOTE: be sure to also set org.apache.lucene.queryparser.classic.QueryParser#setEnablePositionIncrements if you use QueryParser to create queries.


end

public void end()
         throws IOException
Overrides:
end in class TokenFilter
Throws:
IOException


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