org.apache.solr.analysis

## 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

      public final class ReversedWildcardFilter
      extends 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

      `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 and Description
    --- | ---
    `protected` | `ReversedWildcardFilter(TokenStream input, boolean withOriginal, char markerChar)`

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Constructor Detail

    - #### ReversedWildcardFilter

          protected ReversedWildcardFilter(TokenStream input,
                                           boolean withOriginal,
                                           char markerChar)

  - ### Method Detail

    - #### incrementToken

          public boolean incrementToken()
                                 throws IOException

      Specified by:
        `incrementToken` in class `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 `TokenFilter`
      Throws:
        `IOException`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.