You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by da...@apache.org on 2017/12/27 15:04:03 UTC

[10/54] [abbrv] lucene-solr:jira/solr-11702: LUCENE-8093: Make TrimFilterFactory multi-term aware

LUCENE-8093: Make TrimFilterFactory multi-term aware


Project: http://git-wip-us.apache.org/repos/asf/lucene-solr/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucene-solr/commit/8eb5c696
Tree: http://git-wip-us.apache.org/repos/asf/lucene-solr/tree/8eb5c696
Diff: http://git-wip-us.apache.org/repos/asf/lucene-solr/diff/8eb5c696

Branch: refs/heads/jira/solr-11702
Commit: 8eb5c696e41595d8699a991bce99767a97707d5a
Parents: d6d2e3b
Author: Alan Woodward <ro...@apache.org>
Authored: Wed Dec 13 14:39:15 2017 +0000
Committer: Alan Woodward <ro...@apache.org>
Committed: Thu Dec 14 13:49:14 2017 +0000

----------------------------------------------------------------------
 lucene/CHANGES.txt                                      |  2 ++
 .../analysis/miscellaneous/TrimFilterFactory.java       | 12 +++++++++---
 .../lucene/analysis/util/MultiTermAwareComponent.java   |  5 +++++
 3 files changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8eb5c696/lucene/CHANGES.txt
----------------------------------------------------------------------
diff --git a/lucene/CHANGES.txt b/lucene/CHANGES.txt
index c08e215..0fbf446 100644
--- a/lucene/CHANGES.txt
+++ b/lucene/CHANGES.txt
@@ -76,6 +76,8 @@ Improvements
   configurable precision for non-spherical planet models.
   (Ignacio Vera via David Smiley)
 
+* LUCENE-8093: TrimFilterFactory implements MultiTermAwareComponent (Alan Woodward)
+
 ======================= Lucene 7.2.0 =======================
 
 API Changes

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8eb5c696/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
index aa3e8bd..1aad81d 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/miscellaneous/TrimFilterFactory.java
@@ -21,6 +21,8 @@ import java.util.Map;
 
 import org.apache.lucene.analysis.TokenStream;
 import org.apache.lucene.analysis.miscellaneous.TrimFilter;
+import org.apache.lucene.analysis.util.AbstractAnalysisFactory;
+import org.apache.lucene.analysis.util.MultiTermAwareComponent;
 import org.apache.lucene.analysis.util.TokenFilterFactory;
 
 /**
@@ -35,7 +37,7 @@ import org.apache.lucene.analysis.util.TokenFilterFactory;
  *
  * @see TrimFilter
  */
-public class TrimFilterFactory extends TokenFilterFactory {
+public class TrimFilterFactory extends TokenFilterFactory implements MultiTermAwareComponent {
   
   /** Creates a new TrimFilterFactory */
   public TrimFilterFactory(Map<String,String> args) {
@@ -47,7 +49,11 @@ public class TrimFilterFactory extends TokenFilterFactory {
   
   @Override
   public TrimFilter create(TokenStream input) {
-    final TrimFilter filter = new TrimFilter(input);
-    return filter;
+    return new TrimFilter(input);
+  }
+
+  @Override
+  public AbstractAnalysisFactory getMultiTermComponent() {
+    return this;
   }
 }

http://git-wip-us.apache.org/repos/asf/lucene-solr/blob/8eb5c696/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
----------------------------------------------------------------------
diff --git a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
index 700da3c..1c1c4c8 100644
--- a/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
+++ b/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/MultiTermAwareComponent.java
@@ -21,6 +21,11 @@ package org.apache.lucene.analysis.util;
  * analysis component factory for use with partial terms in prefix queries,
  * wildcard queries, range query endpoints, regex queries, etc.
  *
+ * Components implementing this interface should not add or remove tokens from
+ * the token stream, and should be able to deal with special characters
+ * indicating that multi-term queries are required (eg slashes for regex, wildcard
+ * characters, etc)
+ *
  * @lucene.experimental
  */
 public interface MultiTermAwareComponent {