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" });
+ }
+
}