From 22926f0026fdae9b51b8efd2f9a5e103653b2a28 Mon Sep 17 00:00:00 2001 From: kimchy Date: Fri, 18 Jun 2010 00:34:18 +0300 Subject: [PATCH] Analysis: When specifying empty array for stopwords, use an empty list for stopwords, closes #230. --- .../java/org/elasticsearch/common/settings/Settings.java | 8 ++++++++ .../index/analysis/ArabicAnalyzerProvider.java | 4 ++-- .../index/analysis/BrazilianAnalyzerProvider.java | 4 ++-- .../elasticsearch/index/analysis/CjkAnalyzerProvider.java | 4 ++-- .../index/analysis/CzechAnalyzerProvider.java | 4 ++-- .../index/analysis/DutchAnalyzerProvider.java | 4 ++-- .../index/analysis/FrenchAnalyzerProvider.java | 4 ++-- .../index/analysis/GermanAnalyzerProvider.java | 4 ++-- .../index/analysis/GreekAnalyzerProvider.java | 4 ++-- .../index/analysis/PersianAnalyzerProvider.java | 4 ++-- .../index/analysis/RussianAnalyzerProvider.java | 4 ++-- .../index/analysis/StandardAnalyzerProvider.java | 4 ++-- .../index/analysis/StopAnalyzerProvider.java | 4 ++-- .../index/analysis/StopTokenFilterFactory.java | 4 ++-- 14 files changed, 34 insertions(+), 26 deletions(-) diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/common/settings/Settings.java b/modules/elasticsearch/src/main/java/org/elasticsearch/common/settings/Settings.java index 5ffc7b8e2df..7a2b76ed969 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/common/settings/Settings.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/common/settings/Settings.java @@ -221,6 +221,14 @@ public interface Settings { */ String[] getAsArray(String settingPrefix, String[] defaultArray) throws SettingsException; + /** + * The values associated with a setting prefix as an array. The settings array is in the format of: + * settingPrefix.[index]. + * + * @param settingPrefix The setting prefix to load the array by + * @return The setting array values + * @throws SettingsException + */ String[] getAsArray(String settingPrefix) throws SettingsException; /** diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java index 328c2d444c3..e52d9e0531c 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/ArabicAnalyzerProvider.java @@ -42,8 +42,8 @@ public class ArabicAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = ArabicAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java index 9e2ba85dd93..305fe6a6339 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/BrazilianAnalyzerProvider.java @@ -44,8 +44,8 @@ public class BrazilianAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = BrazilianAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java index 5da8ce370e3..d218d7f566b 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CjkAnalyzerProvider.java @@ -42,8 +42,8 @@ public class CjkAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = CJKAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java index 4f82324ef93..c39d53128ec 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/CzechAnalyzerProvider.java @@ -42,8 +42,8 @@ public class CzechAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = CzechAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java index cf493c5bedd..ac639a4703c 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/DutchAnalyzerProvider.java @@ -44,8 +44,8 @@ public class DutchAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = DutchAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java index 6b666d469be..c42a9d1e83f 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/FrenchAnalyzerProvider.java @@ -44,8 +44,8 @@ public class FrenchAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = FrenchAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java index 28fb114af3f..13e6b19be01 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GermanAnalyzerProvider.java @@ -44,8 +44,8 @@ public class GermanAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = GermanAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java index 699814aaed7..4f4875d6b22 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/GreekAnalyzerProvider.java @@ -42,8 +42,8 @@ public class GreekAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = GreekAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java index 3daf435f721..9b1f8afda6c 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/PersianAnalyzerProvider.java @@ -42,8 +42,8 @@ public class PersianAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = PersianAnalyzer.getDefaultStopSet(); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java index 256edd3d129..24914ec9a9b 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/RussianAnalyzerProvider.java @@ -38,8 +38,8 @@ public class RussianAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { analyzer = new RussianAnalyzer(Lucene.ANALYZER_VERSION, ImmutableSet.copyOf(Iterators.forArray(stopWords))); } else { analyzer = new RussianAnalyzer(Lucene.ANALYZER_VERSION); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java index 45d339435f8..4aba09a9f02 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StandardAnalyzerProvider.java @@ -45,8 +45,8 @@ public class StandardAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = ImmutableSet.copyOf((Iterable) StopAnalyzer.ENGLISH_STOP_WORDS_SET); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java index 7c817dee92a..62992480b42 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopAnalyzerProvider.java @@ -42,8 +42,8 @@ public class StopAnalyzerProvider extends AbstractIndexAnalyzerProvider 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = ImmutableSet.copyOf((Iterable) StopAnalyzer.ENGLISH_STOP_WORDS_SET); diff --git a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java index a2a8919b342..b893f18a071 100644 --- a/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java +++ b/modules/elasticsearch/src/main/java/org/elasticsearch/index/analysis/StopTokenFilterFactory.java @@ -45,8 +45,8 @@ public class StopTokenFilterFactory extends AbstractTokenFilterFactory { @Inject public StopTokenFilterFactory(Index index, @IndexSettings Settings indexSettings, @Assisted String name, @Assisted Settings settings) { super(index, indexSettings, name); - String[] stopWords = settings.getAsArray("stopwords"); - if (stopWords.length > 0) { + String[] stopWords = settings.getAsArray("stopwords", null); + if (stopWords != null) { this.stopWords = ImmutableSet.copyOf(Iterators.forArray(stopWords)); } else { this.stopWords = ImmutableSet.copyOf((Iterable) StopAnalyzer.ENGLISH_STOP_WORDS_SET);