Class MockAnalyzer

java.lang.Object
org.apache.lucene.analysis.Analyzer
org.apache.lucene.tests.analysis.MockAnalyzer
All Implemented Interfaces:
Closeable, AutoCloseable

public final class MockAnalyzer extends 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, it's 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:
  • Constructor Details

  • Method Details

    • createComponents

      public Analyzer.TokenStreamComponents createComponents(String fieldName)
      Specified by:
      createComponents in class Analyzer
    • normalize

      protected TokenStream normalize(String fieldName, TokenStream in)
      Overrides:
      normalize in class Analyzer
    • setPositionIncrementGap

      public void setPositionIncrementGap(int positionIncrementGap)
    • getPositionIncrementGap

      public int getPositionIncrementGap(String fieldName)
      Overrides:
      getPositionIncrementGap in class Analyzer
    • setOffsetGap

      public void setOffsetGap(int offsetGap)
      Set a new offset gap which will then be added to the offset when several fields with the same name are indexed
      Parameters:
      offsetGap - The offset gap that should be used.
    • getOffsetGap

      public int getOffsetGap(String fieldName)
      Get the offset gap between tokens in fields if several fields with the same name were added.
      Overrides:
      getOffsetGap in class Analyzer
      Parameters:
      fieldName - Currently not used, the same offset gap is returned for each field.
    • 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