You are viewing a plain text version of this content. The canonical link for it is here.
Posted to solr-commits@lucene.apache.org by rm...@apache.org on 2010/03/17 04:51:57 UTC

svn commit: r924142 - /lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java

Author: rmuir
Date: Wed Mar 17 03:51:57 2010
New Revision: 924142

URL: http://svn.apache.org/viewvc?rev=924142&view=rev
Log:
don't create strings, not needed with lucene trunk

Modified:
    lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java

Modified: lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java?rev=924142&r1=924141&r2=924142&view=diff
==============================================================================
--- lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java (original)
+++ lucene/solr/branches/solr/src/java/org/apache/solr/analysis/SnowballPorterFilterFactory.java Wed Mar 17 03:51:57 2010
@@ -122,10 +122,14 @@ class SnowballPorterFilter extends Token
       return true;
     }
 
-    stemmer.setCurrent(new String(termBuffer, 0, len));//ugh, wish the Stemmer took a char array
+    stemmer.setCurrent(termBuffer, len);
     stemmer.stem();
-    String newstr = stemmer.getCurrent();
-    termAtt.setTermBuffer(newstr.toCharArray(), 0, newstr.length());
+    final char finalTerm[] = stemmer.getCurrentBuffer();
+    final int newLength = stemmer.getCurrentBufferLength();
+    if (finalTerm != termBuffer)
+      termAtt.setTermBuffer(finalTerm, 0, newLength);
+    else
+      termAtt.setTermLength(newLength);
 
     return true;
   }