com.lucene.analysis
Class PorterStemmer

java.lang.Object
  |
  +--com.lucene.analysis.PorterStemmer

public class PorterStemmer
extends Object

Stemmer, implementing the Porter Stemming Algorithm The Stemmer class transforms a word into its root form. The input word can be provided a character at time (by calling add()), or at once by calling one of the various stem(something) methods.


Constructor Summary
PorterStemmer()
           
 
Method Summary
 void add(char ch)
          Add a character to the word being stemmed.
 char[] getResultBuffer()
          Returns a reference to a character buffer containing the results of the stemming process.
 int getResultLength()
          Returns the length of the word resulting from the stemming process.
static void main(String[] args)
          Test program for demonstrating the Stemmer.
 void reset()
          reset() resets the stemmer so it can stem another word.
 boolean stem()
          Stem the word placed into the Stemmer buffer through calls to add().
 boolean stem(char[] word)
          Stem a word contained in a char[].
 boolean stem(char[] word, int wordLen)
          Stem a word contained in a leading portion of a char[] array.
 boolean stem(char[] wordBuffer, int offset, int wordLen)
          Stem a word contained in a portion of a char[] array.
 boolean stem(int i0)
           
 String stem(String s)
          Stem a word provided as a String.
 String toString()
          After a word has been stemmed, it can be retrieved by toString(), or a reference to the internal buffer can be retrieved by getResultBuffer and getResultLength (which is generally more efficient.)
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

PorterStemmer

public PorterStemmer()
Method Detail

reset

public void reset()
reset() resets the stemmer so it can stem another word. If you invoke the stemmer by calling add(char) and then stem(), you must call reset() before starting another word.

add

public void add(char ch)
Add a character to the word being stemmed. When you are finished adding characters, you can call stem(void) to process the word.

toString

public String toString()
After a word has been stemmed, it can be retrieved by toString(), or a reference to the internal buffer can be retrieved by getResultBuffer and getResultLength (which is generally more efficient.)
Overrides:
toString in class Object

getResultLength

public int getResultLength()
Returns the length of the word resulting from the stemming process.

getResultBuffer

public char[] getResultBuffer()
Returns a reference to a character buffer containing the results of the stemming process. You also need to consult getResultLength() to determine the length of the result.

stem

public String stem(String s)
Stem a word provided as a String. Returns the result as a String.

stem

public boolean stem(char[] word)
Stem a word contained in a char[]. Returns true if the stemming process resulted in a word different from the input. You can retrieve the result with getResultLength()/getResultBuffer() or toString().

stem

public boolean stem(char[] wordBuffer,
                    int offset,
                    int wordLen)
Stem a word contained in a portion of a char[] array. Returns true if the stemming process resulted in a word different from the input. You can retrieve the result with getResultLength()/getResultBuffer() or toString().

stem

public boolean stem(char[] word,
                    int wordLen)
Stem a word contained in a leading portion of a char[] array. Returns true if the stemming process resulted in a word different from the input. You can retrieve the result with getResultLength()/getResultBuffer() or toString().

stem

public boolean stem()
Stem the word placed into the Stemmer buffer through calls to add(). Returns true if the stemming process resulted in a word different from the input. You can retrieve the result with getResultLength()/getResultBuffer() or toString().

stem

public boolean stem(int i0)

main

public static void main(String[] args)
Test program for demonstrating the Stemmer. It reads a file and stems each word, writing the result to standard out. Usage: Stemmer file-name