Package org.apache.lucene.analysis
Class MockAnalyzer
- java.lang.Object
-
- org.apache.lucene.analysis.Analyzer
-
- org.apache.lucene.analysis.MockAnalyzer
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public final class MockAnalyzer extends org.apache.lucene.analysis.Analyzer
Analyzer for testingThis analyzer is a replacement for Whitespace/Simple/KeywordAnalyzers for unit tests. If you are testing a custom component such as a queryparser or analyzer-wrapper that consumes analysis streams, its a great idea to test it with this analyzer instead. MockAnalyzer has the following behavior:
- By default, the assertions in
MockTokenizer
are turned on for extra checks that the consumer is consuming properly. These checks can be disabled withsetEnableChecks(boolean)
. - Payload data is randomly injected into the stream for more thorough testing of payloads.
- See Also:
MockTokenizer
-
-
Constructor Summary
Constructors Constructor Description MockAnalyzer(Random random)
Create a Whitespace-lowercasing analyzer with no stopwords removal.MockAnalyzer(Random random, int pattern, boolean lowerCase)
MockAnalyzer(Random random, int pattern, boolean lowerCase, org.apache.lucene.analysis.CharArraySet filter, boolean enablePositionIncrements)
Creates a new MockAnalyzer.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
getPositionIncrementGap(String fieldName)
org.apache.lucene.analysis.TokenStream
reusableTokenStream(String fieldName, Reader reader)
void
setEnableChecks(boolean enableChecks)
Toggle consumer workflow checking: if your test consumes tokenstreams normally you should leave this enabled.void
setMaxTokenLength(int length)
Toggle maxTokenLength for MockTokenizervoid
setPositionIncrementGap(int positionIncrementGap)
org.apache.lucene.analysis.TokenStream
tokenStream(String fieldName, Reader reader)
-
-
-
Constructor Detail
-
MockAnalyzer
public MockAnalyzer(Random random, int pattern, boolean lowerCase, org.apache.lucene.analysis.CharArraySet filter, boolean enablePositionIncrements)
Creates a new MockAnalyzer.- Parameters:
random
- Random for payloads behaviorpattern
- pattern constant describing how tokenization should happenlowerCase
- true if the tokenizer should lowercase termsfilter
- CharArraySet describing how terms should be filtered (set of stopwords, etc)enablePositionIncrements
- true if position increments should reflect filtered terms.
-
MockAnalyzer
public MockAnalyzer(Random random, int pattern, boolean lowerCase)
-
MockAnalyzer
public MockAnalyzer(Random random)
Create a Whitespace-lowercasing analyzer with no stopwords removal.
-
-
Method Detail
-
tokenStream
public org.apache.lucene.analysis.TokenStream tokenStream(String fieldName, Reader reader)
- Specified by:
tokenStream
in classorg.apache.lucene.analysis.Analyzer
-
reusableTokenStream
public org.apache.lucene.analysis.TokenStream reusableTokenStream(String fieldName, Reader reader) throws IOException
- Overrides:
reusableTokenStream
in classorg.apache.lucene.analysis.Analyzer
- Throws:
IOException
-
setPositionIncrementGap
public void setPositionIncrementGap(int positionIncrementGap)
-
getPositionIncrementGap
public int getPositionIncrementGap(String fieldName)
- Overrides:
getPositionIncrementGap
in classorg.apache.lucene.analysis.Analyzer
-
setEnableChecks
public void setEnableChecks(boolean enableChecks)
Toggle consumer workflow checking: if your test consumes tokenstreams normally you should leave this enabled.
-
setMaxTokenLength
public void setMaxTokenLength(int length)
Toggle maxTokenLength for MockTokenizer
-
-