Class ReversedWildcardFilter

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    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
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected ReversedWildcardFilter​(org.apache.lucene.analysis.TokenStream input, boolean withOriginal, char markerChar)  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean incrementToken()  
      void reset()  
      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
      • 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
    • Constructor Detail

      • ReversedWildcardFilter

        protected ReversedWildcardFilter​(org.apache.lucene.analysis.TokenStream input,
                                         boolean withOriginal,
                                         char markerChar)
    • Method Detail

      • 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