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;
}