Class ReverseStringFilter

  • All Implemented Interfaces:
    Closeable, AutoCloseable

    public final class ReverseStringFilter
    extends TokenFilter
    Reverse token string, for example "country" => "yrtnuoc".

    If marker is supplied, then tokens will be also prepended by that character. For example, with a marker of \u0001, "country" => "\u0001yrtnuoc". This is useful when implementing efficient leading wildcards search.

    • Field Detail

      • START_OF_HEADING_MARKER

        public static final char START_OF_HEADING_MARKER
        Example marker character: U+0001 (START OF HEADING)
        See Also:
        Constant Field Values
      • INFORMATION_SEPARATOR_MARKER

        public static final char INFORMATION_SEPARATOR_MARKER
        Example marker character: U+001F (INFORMATION SEPARATOR ONE)
        See Also:
        Constant Field Values
      • PUA_EC00_MARKER

        public static final char PUA_EC00_MARKER
        Example marker character: U+EC00 (PRIVATE USE AREA: EC00)
        See Also:
        Constant Field Values
      • RTL_DIRECTION_MARKER

        public static final char RTL_DIRECTION_MARKER
        Example marker character: U+200F (RIGHT-TO-LEFT MARK)
        See Also:
        Constant Field Values
    • Constructor Detail

      • ReverseStringFilter

        public ReverseStringFilter​(TokenStream in)
        Create a new ReverseStringFilter that reverses all tokens in the supplied TokenStream.

        The reversed tokens will not be marked.

        Parameters:
        in - TokenStream to filter
      • ReverseStringFilter

        public ReverseStringFilter​(TokenStream in,
                                   char marker)
        Create a new ReverseStringFilter that reverses and marks all tokens in the supplied TokenStream.

        The reversed tokens will be prepended (marked) by the marker character.

        Parameters:
        in - TokenStream to filter
        marker - A character used to mark reversed tokens
    • Method Detail

      • reverse

        public static String reverse​(String input)
        Reverses the given input string
        Parameters:
        input - the string to reverse
        Returns:
        the given input string in reversed order
      • reverse

        public static void reverse​(char[] buffer)
        Reverses the given input buffer in-place
        Parameters:
        buffer - the input char array to reverse
      • reverse

        public static void reverse​(char[] buffer,
                                   int len)
        Partially reverses the given input buffer in-place from offset 0 up to the given length.
        Parameters:
        buffer - the input char array to reverse
        len - the length in the buffer up to where the buffer should be reversed
      • 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.
        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