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/06/03 21:34:08 UTC

svn commit: r951126 - in /lucene/dev/trunk/solr: CHANGES.txt src/java/org/apache/solr/analysis/ElisionFilterFactory.java src/test/org/apache/solr/analysis/TestElisionFilterFactory.java

Author: rmuir
Date: Thu Jun  3 19:34:08 2010
New Revision: 951126

URL: http://svn.apache.org/viewvc?rev=951126&view=rev
Log:
SOLR-1938: make ElisionFilterFactory user-friendly

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

Modified: lucene/dev/trunk/solr/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/CHANGES.txt?rev=951126&r1=951125&r2=951126&view=diff
==============================================================================
--- lucene/dev/trunk/solr/CHANGES.txt (original)
+++ lucene/dev/trunk/solr/CHANGES.txt Thu Jun  3 19:34:08 2010
@@ -410,6 +410,9 @@ Other Changes
   option.  It has never worked very well, and in recent versions of
   Solr hasn't worked at all.  (hossman)
 
+* SOLR-1938: ElisionFilterFactory will use a default set of French contractions
+  if you do not supply a custom articles file.  (rmuir)
+
 * SOLR-1889: The default logic for the 'mm' param of DismaxQParser and
   ExtendedDismaxQParser has been changed to be determined based on the
   effective value of the 'q.op' param (hossman)

Modified: lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/ElisionFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/ElisionFilterFactory.java?rev=951126&r1=951125&r2=951126&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/ElisionFilterFactory.java (original)
+++ lucene/dev/trunk/solr/src/java/org/apache/solr/analysis/ElisionFilterFactory.java Thu Jun  3 19:34:08 2010
@@ -41,14 +41,13 @@ public class ElisionFilterFactory extend
       } catch (IOException e) {
         throw new RuntimeException(e);
       }
-    } else {
-      throw new RuntimeException("No articles specified for ElisionFilterFactory");
     }
   }
 
   public ElisionFilter create(TokenStream input) {
     assureMatchVersion();
-    return new ElisionFilter(luceneMatchVersion,input,articles);
+    return articles == null ? new ElisionFilter(luceneMatchVersion,input) : 
+        new ElisionFilter(luceneMatchVersion,input,articles);
   }
 }
 

Modified: lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestElisionFilterFactory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestElisionFilterFactory.java?rev=951126&r1=951125&r2=951126&view=diff
==============================================================================
--- lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestElisionFilterFactory.java (original)
+++ lucene/dev/trunk/solr/src/test/org/apache/solr/analysis/TestElisionFilterFactory.java Thu Jun  3 19:34:08 2010
@@ -49,4 +49,19 @@ public class TestElisionFilterFactory ex
     assertTokenStreamContents(stream, new String[] { "avion" });
   }
   
+  /**
+   * Test creating an elision filter without specifying any articles
+   */
+  public void testDefaultArticles() throws Exception {
+    Reader reader = new StringReader("l'avion");
+    Tokenizer tokenizer = new WhitespaceTokenizer(DEFAULT_VERSION, reader);
+    ElisionFilterFactory factory = new ElisionFilterFactory();
+    factory.init(DEFAULT_VERSION_PARAM);
+    ResourceLoader loader = new SolrResourceLoader(null, null);
+    factory.init(new HashMap<String,String>());
+    factory.inform(loader);
+    TokenStream stream = factory.create(tokenizer);
+    assertTokenStreamContents(stream, new String[] { "avion" });
+  }
+  
 }