diff options
author | Dainius Jocas <dainius.jocas@gmail.com> | 2023-09-14 18:14:57 +0300 |
---|---|---|
committer | Dainius Jocas <dainius.jocas@gmail.com> | 2023-09-14 18:14:57 +0300 |
commit | 8beac01933b5121187d1cf6dd97cef0b34d1afd2 (patch) | |
tree | 158ff555917aa58deedaf583aacf4a833e431ace /lucene-linguistics/src/main | |
parent | 3a539203f2cd93d248f46ec4e75922879699e55b (diff) |
LuceneLinguistics optional configDir
Diffstat (limited to 'lucene-linguistics/src/main')
-rw-r--r-- | lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java | 10 | ||||
-rw-r--r-- | lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def | 2 |
2 files changed, 6 insertions, 6 deletions
diff --git a/lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java b/lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java index 71e31de34b3..67a430a28dc 100644 --- a/lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java +++ b/lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java @@ -28,9 +28,6 @@ class AnalyzerFactory { private final LuceneAnalysisConfig config; - // Root config directory for all analysis components - private final Path configDir; - // Registry of analyzers per language // The idea is to create analyzers ONLY WHEN they are needed // Analyzers are thread safe so no need to recreate them for every document @@ -45,7 +42,6 @@ class AnalyzerFactory { public AnalyzerFactory(LuceneAnalysisConfig config, ComponentRegistry<Analyzer> analyzers) { this.config = config; - this.configDir = config.configDir(); this.analyzerComponents = analyzers; this.defaultAnalyzers = new DefaultAnalyzers(); log.config("Available in classpath char filters: " + CharFilterFactory.availableCharFilters()); @@ -83,7 +79,11 @@ class AnalyzerFactory { private Analyzer createAnalyzer(AnalyzerKey analyzerKey, LuceneAnalysisConfig.Analysis analysis) { try { - CustomAnalyzer.Builder builder = CustomAnalyzer.builder(configDir); + CustomAnalyzer.Builder builder = config.configDir() + // Root config directory for all analysis components in the application package + .map(CustomAnalyzer::builder) + // else load resource files from the classpath + .orElseGet(CustomAnalyzer::builder); builder = withTokenizer(builder, analysis); builder = addCharFilters(builder, analysis); builder = addTokenFilters(builder, analysis); diff --git a/lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def b/lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def index e4b5037dcbe..081d93ec580 100644 --- a/lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def +++ b/lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def @@ -4,7 +4,7 @@ package=com.yahoo.language.lucene # See # - https://docs.vespa.ai/en/reference/config-files.html -configDir path +configDir path optional analysis{}.tokenizer.name string default=standard analysis{}.tokenizer.conf{} string |