## org.apache.lucene.analysis
Class MockAnalyzer

    java.lang.Object
      org.apache.lucene.analysis.Analyzer
          org.apache.lucene.analysis.MockAnalyzer

All Implemented Interfaces:
  Closeable

    public final class MockAnalyzer

extends org.apache.lucene.analysis.Analyzer

Analyzer for testing

This 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 with `setEnableChecks(boolean)`.
- Payload data is randomly injected into the stream for more thorough testing of payloads.

See Also:
  `MockTokenizer`

Constructor Summary
`MockAnalyzer(Random random)` Create a Whitespace-lowercasing analyzer with no stopwords removal.
`MockAnalyzer(Random random, int pattern, boolean lowerCase)` Calls `MockAnalyzer(random, pattern, lowerCase, CharArraySet.EMPTY_STOPSET, true`).
`MockAnalyzer(Random random, int pattern, boolean lowerCase, org.apache.lucene.analysis.CharArraySet filter, boolean enablePositionIncrements)` Creates a new MockAnalyzer.

Method Summary
`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 MockTokenizer
`void` `setPositionIncrementGap(int positionIncrementGap)`
`org.apache.lucene.analysis.TokenStream` `tokenStream(String fieldName, Reader reader)`

Methods inherited from class org.apache.lucene.analysis.Analyzer
`close, getOffsetGap, getPreviousTokenStream, setPreviousTokenStream`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

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 behavior
    `pattern` - pattern constant describing how tokenization should happen
    `lowerCase` - true if the tokenizer should lowercase terms
    `filter` - 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)

  Calls `MockAnalyzer(random, pattern, lowerCase, CharArraySet.EMPTY_STOPSET, true`).

### MockAnalyzer

    public MockAnalyzer(Random random)

  Create a Whitespace-lowercasing analyzer with no stopwords removal.

  Calls `MockAnalyzer(random, MockTokenizer.WHITESPACE, true)`.

Method Detail

### tokenStream

    public org.apache.lucene.analysis.TokenStream tokenStream(String fieldName,
                                                              Reader reader)

  Specified by:
    `tokenStream` in class `org.apache.lucene.analysis.Analyzer`

### reusableTokenStream

    public org.apache.lucene.analysis.TokenStream reusableTokenStream(String fieldName,
                                                                      Reader reader)
                                                               throws IOException

  Overrides:
    `reusableTokenStream` in class `org.apache.lucene.analysis.Analyzer`
  Throws:
    `IOException`

### setPositionIncrementGap

    public void setPositionIncrementGap(int positionIncrementGap)

### getPositionIncrementGap

    public int getPositionIncrementGap(String fieldName)

  Overrides:
    `getPositionIncrementGap` in class `org.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