Author: hossman
Date: Tue Apr 15 15:19:18 2008
New Revision: 648433

URL: http://svn.apache.org/viewvc?rev=648433&view=rev
Log:
SOLR-521: StopFilterFactory support for enablePositionIncrements

Modified:
    lucene/solr/trunk/CHANGES.txt
    lucene/solr/trunk/example/solr/conf/schema.xml
    lucene/solr/trunk/src/java/org/apache/solr/analysis/StopFilterFactory.java

Modified: lucene/solr/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/CHANGES.txt?rev=648433&r1=648432&r2=648433&view=diff
==============================================================================
--- lucene/solr/trunk/CHANGES.txt (original)
+++ lucene/solr/trunk/CHANGES.txt Tue Apr 15 15:19:18 2008
@@ -247,6 +247,9 @@
     BinaryResponseParser for utilizing the binary format via SolrJ.
     (Noble Paul, yonik)
 
+45. SOLR-521: StopFilterFactory support for "enablePositionIncrements"
+    (Walter Ferrara via hossman)
+    
 Changes in runtime behavior
 
 Optimizations

Modified: lucene/solr/trunk/example/solr/conf/schema.xml
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/example/solr/conf/schema.xml?rev=648433&r1=648432&r2=648433&view=diff
==============================================================================
--- lucene/solr/trunk/example/solr/conf/schema.xml (original)
+++ lucene/solr/trunk/example/solr/conf/schema.xml Tue Apr 15 15:19:18 2008
@@ -164,7 +164,15 @@
         <!-- in this example, we will only use synonyms at query time
         <filter class="solr.SynonymFilterFactory" 
synonyms="index_synonyms.txt" ignoreCase="true" expand="false"/>
         -->
-        <filter class="solr.StopFilterFactory" ignoreCase="true" 
words="stopwords.txt"/>
+        <!-- Case insensitive stop word removal.
+             enablePositionIncrements=true ensures that a 'gap' is left to
+             allow for accurate phrase queries.
+        -->
+        <filter class="solr.StopFilterFactory"
+                ignoreCase="true"
+                words="stopwords.txt"
+                enablePositionIncrements="true"
+                />
         <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" 
generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" 
splitOnCaseChange="1"/>
         <filter class="solr.LowerCaseFilterFactory"/>
         <filter class="solr.EnglishPorterFilterFactory" 
protected="protwords.txt"/>

Modified: 
lucene/solr/trunk/src/java/org/apache/solr/analysis/StopFilterFactory.java
URL: 
http://svn.apache.org/viewvc/lucene/solr/trunk/src/java/org/apache/solr/analysis/StopFilterFactory.java?rev=648433&r1=648432&r2=648433&view=diff
==============================================================================
--- lucene/solr/trunk/src/java/org/apache/solr/analysis/StopFilterFactory.java 
(original)
+++ lucene/solr/trunk/src/java/org/apache/solr/analysis/StopFilterFactory.java 
Tue Apr 15 15:19:18 2008
@@ -35,6 +35,7 @@
   public void inform(ResourceLoader loader) {
     String stopWordFile = args.get("words");
     ignoreCase = getBoolean("ignoreCase",false);
+    enablePositionIncrements = getBoolean("enablePositionIncrements",false);
 
     if (stopWordFile != null) {
       try {
@@ -50,8 +51,11 @@
 
   private Set stopWords;
   private boolean ignoreCase;
+  private boolean enablePositionIncrements;
 
   public StopFilter create(TokenStream input) {
-    return new StopFilter(input,stopWords,ignoreCase);
+    StopFilter stopFilter = new StopFilter(input,stopWords,ignoreCase);
+    stopFilter.setEnablePositionIncrements(enablePositionIncrements);
+    return stopFilter;
   }
 }


Reply via email to