Class LimitTokenCountFilter
java.lang.Object
org.apache.lucene.util.AttributeSource
org.apache.lucene.analysis.TokenStream
org.apache.lucene.analysis.TokenFilter
org.apache.lucene.analysis.miscellaneous.LimitTokenCountFilter
- All Implemented Interfaces:
Closeable
,AutoCloseable
,Unwrappable<TokenStream>
This TokenFilter limits the number of tokens while indexing. It is a replacement for the maximum
field length setting inside
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
AttributeSource.State
-
Field Summary
Fields inherited from class org.apache.lucene.analysis.TokenFilter
input
Fields inherited from class org.apache.lucene.analysis.TokenStream
DEFAULT_TOKEN_ATTRIBUTE_FACTORY
-
Constructor Summary
ConstructorDescriptionLimitTokenCountFilter
(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. -
Method Summary
Methods inherited from class org.apache.lucene.analysis.TokenFilter
close, end, unwrap
Methods inherited from class org.apache.lucene.util.AttributeSource
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, endAttributes, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, removeAllAttributes, restoreState, toString
-
Constructor Details
-
LimitTokenCountFilter
Build a filter that only accepts tokens up to a maximum number. This filter will not consume any tokens beyond the maxTokenCount limit -
LimitTokenCountFilter
Build an filter that limits the maximum number of tokens per field.- Parameters:
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.
-
-
Method Details
-
incrementToken
- Specified by:
incrementToken
in classTokenStream
- Throws:
IOException
-
reset
- Overrides:
reset
in classTokenFilter
- Throws:
IOException
-