Class ReverseStringFilter
- All Implemented Interfaces:
Closeable,AutoCloseable,Unwrappable<TokenStream>
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.
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.lucene.util.AttributeSource
AttributeSource.State -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charExample marker character: U+001F (INFORMATION SEPARATOR ONE)private final charprivate static final charstatic final charExample marker character: U+EC00 (PRIVATE USE AREA: EC00)static final charExample marker character: U+200F (RIGHT-TO-LEFT MARK)static final charExample marker character: U+0001 (START OF HEADING)private final CharTermAttributeFields inherited from class org.apache.lucene.analysis.TokenFilter
inputFields inherited from class org.apache.lucene.analysis.TokenStream
DEFAULT_TOKEN_ATTRIBUTE_FACTORY -
Constructor Summary
ConstructorsConstructorDescriptionCreate a new ReverseStringFilter that reverses all tokens in the suppliedTokenStream.ReverseStringFilter(TokenStream in, char marker) Create a new ReverseStringFilter that reverses and marks all tokens in the suppliedTokenStream. -
Method Summary
Modifier and TypeMethodDescriptionbooleanConsumers (i.e.,IndexWriter) use this method to advance the stream to the next token.static voidreverse(char[] buffer) Reverses the given input buffer in-placestatic voidreverse(char[] buffer, int len) Partially reverses the given input buffer in-place from offset 0 up to the given length.static voidreverse(char[] buffer, int start, int len) Partially reverses the given input buffer in-place from the given offset up to the given length.static StringReverses the given input stringMethods inherited from class org.apache.lucene.analysis.TokenFilter
close, end, reset, unwrapMethods 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
-
Field Details
-
termAtt
-
marker
private final char marker -
NOMARKER
private static final char NOMARKER- See Also:
-
START_OF_HEADING_MARKER
public static final char START_OF_HEADING_MARKERExample marker character: U+0001 (START OF HEADING)- See Also:
-
INFORMATION_SEPARATOR_MARKER
public static final char INFORMATION_SEPARATOR_MARKERExample marker character: U+001F (INFORMATION SEPARATOR ONE)- See Also:
-
PUA_EC00_MARKER
public static final char PUA_EC00_MARKERExample marker character: U+EC00 (PRIVATE USE AREA: EC00)- See Also:
-
RTL_DIRECTION_MARKER
public static final char RTL_DIRECTION_MARKERExample marker character: U+200F (RIGHT-TO-LEFT MARK)- See Also:
-
-
Constructor Details
-
ReverseStringFilter
Create a new ReverseStringFilter that reverses all tokens in the suppliedTokenStream.The reversed tokens will not be marked.
- Parameters:
in-TokenStreamto filter
-
ReverseStringFilter
Create a new ReverseStringFilter that reverses and marks all tokens in the suppliedTokenStream.The reversed tokens will be prepended (marked) by the
markercharacter.- Parameters:
in-TokenStreamto filtermarker- A character used to mark reversed tokens
-
-
Method Details
-
incrementToken
Description copied from class:TokenStreamConsumers (i.e.,IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriateAttributeImpls with the attributes of the next token.The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use
AttributeSource.captureState()to create a copy of the current attribute state.This method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to
AttributeSource.addAttribute(Class)andAttributeSource.getAttribute(Class), references to allAttributeImpls that this stream uses should be retrieved during instantiation.To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in
TokenStream.incrementToken().- Specified by:
incrementTokenin classTokenStream- Returns:
- false for end of stream; true otherwise
- Throws:
IOException
-
reverse
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 reverselen- 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 reversestart- the offset from where to reverse the bufferlen- the length in the buffer up to where the buffer should be reversed
-