org.apache.lucene.analysis.pattern
Class PatternReplaceCharFilter

java.lang.Object
  extended by java.io.Reader
      extended by java.io.FilterReader
          extended by org.apache.lucene.analysis.CharFilter
              extended by org.apache.lucene.analysis.charfilter.BaseCharFilter
                  extended by org.apache.lucene.analysis.pattern.PatternReplaceCharFilter
All Implemented Interfaces:
Closeable, Readable

public class PatternReplaceCharFilter
extends BaseCharFilter

CharFilter that uses a regular expression for the target of replace string. The pattern match will be done in each "block" in char stream.

ex1) source="aa  bb aa bb", pattern="(aa)\\s+(bb)" replacement="$1#$2"
output="aa#bb aa#bb"

NOTE: If you produce a phrase that has different length to source string and the field is used for highlighting for a term of the phrase, you will face a trouble.

ex2) source="aa123bb", pattern="(aa)\\d+(bb)" replacement="$1 $2"
output="aa bb"
and you want to search bb and highlight it, you will get
highlight snippet="aa1<em>23bb</em>"

Since:
Solr 1.5

Field Summary
static int DEFAULT_MAX_BLOCK_CHARS
          Deprecated. 
 
Fields inherited from class java.io.FilterReader
in
 
Fields inherited from class java.io.Reader
lock
 
Constructor Summary
PatternReplaceCharFilter(Pattern pattern, String replacement, int maxBlockChars, String blockDelimiter, Reader in)
          Deprecated. 
PatternReplaceCharFilter(Pattern pattern, String replacement, Reader in)
           
 
Method Summary
protected  int correct(int currentOff)
          Retrieve the corrected offset.
 int read()
           
 int read(char[] cbuf, int off, int len)
           
 
Methods inherited from class org.apache.lucene.analysis.charfilter.BaseCharFilter
addOffCorrectMap, getLastCumulativeDiff
 
Methods inherited from class org.apache.lucene.analysis.CharFilter
correctOffset
 
Methods inherited from class java.io.FilterReader
close, mark, markSupported, ready, reset, skip
 
Methods inherited from class java.io.Reader
read, read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_MAX_BLOCK_CHARS

@Deprecated
public static final int DEFAULT_MAX_BLOCK_CHARS
Deprecated. 
See Also:
Constant Field Values
Constructor Detail

PatternReplaceCharFilter

public PatternReplaceCharFilter(Pattern pattern,
                                String replacement,
                                Reader in)

PatternReplaceCharFilter

@Deprecated
public PatternReplaceCharFilter(Pattern pattern,
                                           String replacement,
                                           int maxBlockChars,
                                           String blockDelimiter,
                                           Reader in)
Deprecated. 

Method Detail

read

public int read(char[] cbuf,
                int off,
                int len)
         throws IOException
Overrides:
read in class FilterReader
Throws:
IOException

read

public int read()
         throws IOException
Overrides:
read in class FilterReader
Throws:
IOException

correct

protected int correct(int currentOff)
Description copied from class: BaseCharFilter
Retrieve the corrected offset.

Overrides:
correct in class BaseCharFilter


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