Author: yonik
Date: Sun Apr 13 13:07:02 2008
New Revision: 647621

URL: http://svn.apache.org/viewvc?rev=647621&view=rev
Log:
SOLR-330: reuse first token in WDF

Modified:
    lucene/solr/trunk/src/java/org/apache/solr/analysis/WordDelimiterFilter.java
    lucene/solr/trunk/src/test/org/apache/solr/analysis/TestSynonymFilter.java

Modified: 
lucene/solr/trunk/src/java/org/apache/solr/analysis/WordDelimiterFilter.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/analysis/WordDelimiterFilter.java?rev=647621&r1=647620&r2=647621&view=diff
==============================================================================
--- 
lucene/solr/trunk/src/java/org/apache/solr/analysis/WordDelimiterFilter.java 
(original)
+++ 
lucene/solr/trunk/src/java/org/apache/solr/analysis/WordDelimiterFilter.java 
Sun Apr 13 13:07:02 2008
@@ -244,7 +244,9 @@
 
     int origPosIncrement;
     while(true) {
-      Token t = input.next();
+      // t is either returned, or a new token is made from it, so it should
+      // be safe to use the next(Token) method.
+      Token t = input.next(in);
       if (t == null) return null;
 
       char [] termBuffer = t.termBuffer();

Modified: 
lucene/solr/trunk/src/test/org/apache/solr/analysis/TestSynonymFilter.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/test/org/apache/solr/analysis/TestSynonymFilter.java?rev=647621&r1=647620&r2=647621&view=diff
==============================================================================
--- lucene/solr/trunk/src/test/org/apache/solr/analysis/TestSynonymFilter.java 
(original)
+++ lucene/solr/trunk/src/test/org/apache/solr/analysis/TestSynonymFilter.java 
Sun Apr 13 13:07:02 2008
@@ -50,10 +50,11 @@
 
     SynonymFilter sf = new SynonymFilter(ts, dict);
 
+    Token target = new Token();  // test with token reuse
     while(true) {
-      Token t = sf.next();
+      Token t = sf.next(target);
       if (t==null) return lst;
-      lst.add(t);
+      lst.add((Token)t.clone());
     }
   }
 


Reply via email to