You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2010/05/25 13:53:56 UTC

svn commit: r948011 - in /lucene/dev/trunk/solr: CHANGES.txt src/java/org/apache/solr/analysis/PhoneticFilterFactory.java src/test/org/apache/solr/analysis/TestPhoneticFilter.java

Author: rmuir
Date: Tue May 25 11:53:55 2010
New Revision: 948011

URL: http://svn.apache.org/viewvc?rev=948011&view=rev
Log:
SOLR-1923: add caverphone to phoneticfilter

Modified:
    lucene/dev/trunk/solr/CHANGES.txt
    lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java
    lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestPhoneticFilter.java

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=948011&r1=948010&r2=948011&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Tue May 25 11:53:55 2010
@@ -161,6 +161,9 @@ New Features
 * SOLR-945: JSON update handler that accepts add, delete, commit
   commands in JSON format. (Ryan McKinley, yonik)
 
+* SOLR-1923: PhoneticFilterFactory now has support for the 
+  Caverphone algorithm. (rmuir)
+
    
 Optimizations
 ----------------------

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java?rev=948011&r1=948010&r2=948011&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/PhoneticFilterFactory.java Tue May 25 11:53:55 2010
@@ -23,6 +23,7 @@ import java.util.Locale;
 import java.util.Map;
 
 import org.apache.commons.codec.Encoder;
+import org.apache.commons.codec.language.Caverphone;
 import org.apache.commons.codec.language.DoubleMetaphone;
 import org.apache.commons.codec.language.Metaphone;
 import org.apache.commons.codec.language.RefinedSoundex;
@@ -56,6 +57,7 @@ public class PhoneticFilterFactory exten
     registry.put( "Metaphone".toUpperCase(Locale.ENGLISH),       Metaphone.class );
     registry.put( "Soundex".toUpperCase(Locale.ENGLISH),         Soundex.class );
     registry.put( "RefinedSoundex".toUpperCase(Locale.ENGLISH),  RefinedSoundex.class );
+    registry.put( "Caverphone".toUpperCase(Locale.ENGLISH),      Caverphone.class );
   }
   
   protected boolean inject = true;

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestPhoneticFilter.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestPhoneticFilter.java?rev=948011&r1=948010&r2=948011&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestPhoneticFilter.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestPhoneticFilter.java Tue May 25 11:53:55 2010
@@ -79,6 +79,12 @@ public class TestPhoneticFilter extends 
         new String[] { "A0", "aaa", "B1", "bbb", "C3", "ccc", "E034034", "easgasg" });
     assertAlgorithm("RefinedSoundex", "false", "aaa bbb ccc easgasg",
         new String[] { "A0", "B1", "C3", "E034034" });
+    
+    assertAlgorithm("Caverphone", "true", "Darda Karleen Datha Carlene",
+        new String[] { "TTA1111111", "Darda", "KLN1111111", "Karleen", 
+          "TTA1111111", "Datha", "KLN1111111", "Carlene" });
+    assertAlgorithm("Caverphone", "false", "Darda Karleen Datha Carlene",
+        new String[] { "TTA1111111", "KLN1111111", "TTA1111111", "KLN1111111" });
   }
   
   static void assertAlgorithm(String algName, String inject, String input,