summaryrefslogtreecommitdiffstats
path: root/lucene-linguistics/src/main
diff options
context:
space:
mode:
authorDainius Jocas <dainius.jocas@gmail.com>2023-09-14 18:14:57 +0300
committerDainius Jocas <dainius.jocas@gmail.com>2023-09-14 18:14:57 +0300
commit8beac01933b5121187d1cf6dd97cef0b34d1afd2 (patch)
tree158ff555917aa58deedaf583aacf4a833e431ace /lucene-linguistics/src/main
parent3a539203f2cd93d248f46ec4e75922879699e55b (diff)
LuceneLinguistics optional configDir
Diffstat (limited to 'lucene-linguistics/src/main')
-rw-r--r--lucene-linguistics/src/main/java/com/yahoo/language/lucene/AnalyzerFactory.java10
-rw-r--r--lucene-linguistics/src/main/resources/configdefinitions/lucene-analysis.def2
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