public final class CachingTokenFilter extends TokenFilter
incrementToken()
is called. Subsequent calls will used the cache.
Important: Like any proper TokenFilter, reset()
propagates
to the input, although only before incrementToken()
is called the
first time. Prior to Lucene 5, it was never propagated.
AttributeSource.State
input
DEFAULT_TOKEN_ATTRIBUTE_FACTORY
Constructor and Description |
---|
CachingTokenFilter(TokenStream input)
Create a new CachingTokenFilter around
input . |
Modifier and Type | Method and Description |
---|---|
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). |
boolean |
incrementToken()
The first time called, it'll read and cache all tokens from the input.
|
boolean |
isCached()
If the underlying token stream was consumed and cached.
|
void |
reset()
Propagates reset if incrementToken has not yet been called.
|
close
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString
public CachingTokenFilter(TokenStream input)
input
. As with
any normal TokenFilter, do not call reset on the input; this filter
will do it normally.public void reset() throws IOException
reset
in class TokenFilter
IOException
public final boolean incrementToken() throws IOException
incrementToken
in class TokenStream
IOException
public final void end()
TokenFilter
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.
Additionally any skipped positions (such as those removed by a stopfilter) can be applied to the position increment, or any adjustment of other attributes where the end-of-stream value may be important.
If you override this method, always call super.end()
.
NOTE:
The default implementation chains the call to the input TokenStream, so
be sure to call super.end()
first when overriding this method.
end
in class TokenFilter
public boolean isCached()
Copyright © 2000-2021 Apache Software Foundation. All Rights Reserved.