org.apache.solr.analysis
Class ReversedWildcardFilter

java.lang.Object
  extended by org.apache.lucene.util.AttributeSource
      extended by org.apache.lucene.analysis.TokenStream
          extended by org.apache.lucene.analysis.TokenFilter
              extended by org.apache.solr.analysis.ReversedWildcardFilter
All Implemented Interfaces:
Closeable

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.AttributeFactory, AttributeSource.State
 
Field Summary
 
Fields inherited from class org.apache.lucene.analysis.TokenFilter
input
 
Constructor Summary
protected ReversedWildcardFilter(TokenStream input, boolean withOriginal, char markerChar)
           
 
Method Summary
 boolean incrementToken()
           
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, reset
 
Methods inherited from class org.apache.lucene.util.AttributeSource
addAttribute, addAttributeImpl, captureState, clearAttributes, cloneAttributes, copyTo, equals, getAttribute, getAttributeClassesIterator, getAttributeFactory, getAttributeImplsIterator, hasAttribute, hasAttributes, hashCode, reflectAsString, reflectWith, 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


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