public final class EdgeNGramTokenizer extends Tokenizer
This Tokenizer create n-grams from the beginning edge or ending edge of a input token.
MaxGram can't be larger than 1024 because of limitation.
| Modifier and Type | Class and Description |
|---|---|
static class |
EdgeNGramTokenizer.Side
Specifies which side of the input the n-gram should be generated from
|
AttributeSource.AttributeFactory, AttributeSource.State| Modifier and Type | Field and Description |
|---|---|
static int |
DEFAULT_MAX_GRAM_SIZE |
static int |
DEFAULT_MIN_GRAM_SIZE |
static EdgeNGramTokenizer.Side |
DEFAULT_SIDE |
| Constructor and Description |
|---|
EdgeNGramTokenizer(AttributeSource.AttributeFactory factory,
Reader input,
EdgeNGramTokenizer.Side side,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
EdgeNGramTokenizer(AttributeSource.AttributeFactory factory,
Reader input,
String sideLabel,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
EdgeNGramTokenizer(AttributeSource source,
Reader input,
EdgeNGramTokenizer.Side side,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
EdgeNGramTokenizer(AttributeSource source,
Reader input,
String sideLabel,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
EdgeNGramTokenizer(Reader input,
EdgeNGramTokenizer.Side side,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
EdgeNGramTokenizer(Reader input,
String sideLabel,
int minGram,
int maxGram)
Creates EdgeNGramTokenizer that can generate n-grams in the sizes of the given range
|
| 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()
Returns the next token in the stream, or null at EOS.
|
void |
reset()
Resets this stream to the beginning.
|
close, correctOffset, resetaddAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, restoreState, toStringpublic static final EdgeNGramTokenizer.Side DEFAULT_SIDE
public static final int DEFAULT_MAX_GRAM_SIZE
public static final int DEFAULT_MIN_GRAM_SIZE
public EdgeNGramTokenizer(Reader input, EdgeNGramTokenizer.Side side, int minGram, int maxGram)
input - Reader holding the input to be tokenizedside - the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic EdgeNGramTokenizer(AttributeSource source, Reader input, EdgeNGramTokenizer.Side side, int minGram, int maxGram)
source - AttributeSource to useinput - Reader holding the input to be tokenizedside - the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic EdgeNGramTokenizer(AttributeSource.AttributeFactory factory, Reader input, EdgeNGramTokenizer.Side side, int minGram, int maxGram)
factory - AttributeSource.AttributeFactory to useinput - Reader holding the input to be tokenizedside - the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic EdgeNGramTokenizer(Reader input, String sideLabel, int minGram, int maxGram)
input - Reader holding the input to be tokenizedsideLabel - the name of the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic EdgeNGramTokenizer(AttributeSource source, Reader input, String sideLabel, int minGram, int maxGram)
source - AttributeSource to useinput - Reader holding the input to be tokenizedsideLabel - the name of the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic EdgeNGramTokenizer(AttributeSource.AttributeFactory factory, Reader input, String sideLabel, int minGram, int maxGram)
factory - AttributeSource.AttributeFactory to useinput - Reader holding the input to be tokenizedsideLabel - the name of the EdgeNGramTokenizer.Side from which to chop off an n-gramminGram - the smallest n-gram to generatemaxGram - the largest n-gram to generatepublic boolean incrementToken()
throws IOException
incrementToken in class TokenStreamIOExceptionpublic void end()
TokenStreamTokenStream.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.end in class TokenStreampublic void reset()
throws IOException
TokenStreamTokenStream.reset() is not needed for
the standard indexing process. However, if the tokens of a
TokenStream are intended to be consumed more than once, it is
necessary to implement TokenStream.reset(). Note that if your TokenStream
caches tokens and feeds them back again after a reset, it is imperative
that you clone the tokens when you store them away (on the first pass) as
well as when you return them (on future passes after TokenStream.reset()).reset in class TokenStreamIOException