Class ReversedWildcardFilter

java.lang.Object
org.apache.lucene.util.AttributeSource
org.apache.lucene.analysis.TokenStream
org.apache.lucene.analysis.TokenFilter
org.apache.solr.analysis.ReversedWildcardFilter
All Implemented Interfaces:
Closeable, AutoCloseable, org.apache.lucene.util.Unwrappable<org.apache.lucene.analysis.TokenStream>

public final class ReversedWildcardFilter extends org.apache.lucene.analysis.TokenFilter
This class produces a special form of reversed tokens, suitable for better handling of leading wildcards. Tokens from the input TokenStream are reversed and prepended with a special "reversed" marker character. If withOriginal argument is true then first the original token is returned, and then the reversed token (with positionIncrement == 0 ) is returned. Otherwise only reversed tokens are returned.

Note: this filter doubles the number of tokens in the input stream when withOriginal == true, which proportionally increases the size of postings and term dictionary in the index.

  • Nested Class Summary

    Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource

    org.apache.lucene.util.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
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
     
    void
     
    static void
    reverse(char[] buffer, int start, int len)
    Partially reverses the given input buffer in-place from the given offset up to the given length, keeping surrogate pairs in the correct (non-reversed) order.

    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

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Method Details

    • incrementToken

      public boolean incrementToken() throws IOException
      Specified by:
      incrementToken in class org.apache.lucene.analysis.TokenStream
      Throws:
      IOException
    • reverse

      public static void reverse(char[] buffer, int start, int len)
      Partially reverses the given input buffer in-place from the given offset up to the given length, keeping surrogate pairs in the correct (non-reversed) order.
      Parameters:
      buffer - the input char array to reverse
      start - the offset from where to reverse the buffer
      len - the length in the buffer up to where the buffer should be reversed
    • reset

      public void reset() throws IOException
      Overrides:
      reset in class org.apache.lucene.analysis.TokenFilter
      Throws:
      IOException