public final class LimitTokenCountFilter extends TokenFilter
IndexWriter
.
By default, this filter ignores any tokens in the wrapped TokenStream
once the limit has been reached, which can result in reset()
being
called prior to incrementToken()
returning false
. For most
TokenStream
implementations this should be acceptable, and faster
then consuming the full stream. If you are wrapping a TokenStream
which requires that the full stream of tokens be exhausted in order to
function properly, use the
consumeAllTokens
option.
AttributeSource.State
input
DEFAULT_TOKEN_ATTRIBUTE_FACTORY
Constructor and Description |
---|
LimitTokenCountFilter(TokenStream in,
int maxTokenCount)
Build a filter that only accepts tokens up to a maximum number.
|
LimitTokenCountFilter(TokenStream in,
int maxTokenCount,
boolean consumeAllTokens)
Build an filter that limits the maximum number of tokens per field.
|
Modifier and Type | Method and Description |
---|---|
boolean |
incrementToken() |
void |
reset() |
close, end
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString
public LimitTokenCountFilter(TokenStream in, int maxTokenCount)
public LimitTokenCountFilter(TokenStream in, int maxTokenCount, boolean consumeAllTokens)
in
- the stream to wrapmaxTokenCount
- max number of tokens to produceconsumeAllTokens
- whether all tokens from the input must be consumed even if maxTokenCount is reached.public boolean incrementToken() throws IOException
incrementToken
in class TokenStream
IOException
public void reset() throws IOException
reset
in class TokenFilter
IOException
Copyright © 2000-2017 Apache Software Foundation. All Rights Reserved.