java.lang.Object
org.apache.lucene.analysis.en.PorterStemmer

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.

  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private char[]
     
    private boolean
     
    private int
     
    private static final int
     
    private int
     
    private int
     
    private int
     
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    add(char ch)
    Add a character to the word being stemmed.
    private final boolean
    cons(int i)
     
    private final boolean
    cvc(int i)
     
    private final boolean
    doublec(int j)
     
    private final boolean
     
    char[]
    Returns a reference to a character buffer containing the results of the stemming process.
    int
    Returns the length of the word resulting from the stemming process.
    private final int
    m()
     
    (package private) void
    r(String s)
     
    void
    reset() resets the stemmer so it can stem another word.
    (package private) void
     
    boolean
    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)
     
    Stem a word provided as a String.
    private final void
     
    private final void
     
    private final void
     
    private final void
     
    private final void
     
    private final void
     
    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.)
    private final boolean
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • b

      private char[] b
    • i

      private int i
    • j

      private int j
    • k

      private int k
    • k0

      private int k0
    • dirty

      private boolean dirty
    • INITIAL_SIZE

      private static final int INITIAL_SIZE
      See Also:
  • Constructor Details

    • PorterStemmer

      public PorterStemmer()
  • Method Details

    • 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.
    • cons

      private final boolean cons(int i)
    • m

      private final int m()
    • vowelinstem

      private final boolean vowelinstem()
    • doublec

      private final boolean doublec(int j)
    • cvc

      private final boolean cvc(int i)
    • ends

      private final boolean ends(String s)
    • setto

      void setto(String s)
    • r

      void r(String s)
    • step1

      private final void step1()
    • step2

      private final void step2()
    • step3

      private final void step3()
    • step4

      private final void step4()
    • step5

      private final void step5()
    • step6

      private final void step6()
    • 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)