diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-09-18 03:59:48 -0700 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-09-18 03:59:48 -0700 |
commit | 17dc219ade1c241f7e40d5e0942d291219439792 (patch) | |
tree | 2bf12f1cf62479a76a682f972b6de91fc8e2dc84 /config-model/src/main/java/com/yahoo/searchdefinition/processing | |
parent | d382242496bc164c2eddd9e5d0d00c107a90eb9c (diff) | |
parent | 59f42ff1e807e60361d13663e4039038cd239120 (diff) |
Merge with master
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java | 10 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java | 27 |
2 files changed, 28 insertions, 9 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java new file mode 100644 index 00000000000..0fee844ecbc --- /dev/null +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MinimalProcessing.java @@ -0,0 +1,10 @@ +package com.yahoo.searchdefinition.processing; + +import java.util.Collection; + +public class MinimalProcessing extends Processing { + @Override + protected Collection<ProcessorFactory> createProcessorFactories() { + return minimalSetOfProcessors(); + } +} diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java index fdef93e21ed..d92979f3ae4 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java @@ -7,7 +7,9 @@ import com.yahoo.searchdefinition.Search; import com.yahoo.searchdefinition.processing.multifieldresolver.RankProfileTypeSettingsProcessor; import com.yahoo.vespa.model.container.search.QueryProfiles; +import java.util.ArrayList; import java.util.Arrays; +import java.util.Collection; import java.util.List; /** @@ -18,9 +20,7 @@ import java.util.List; */ public class Processing { - private static final List<ProcessorFactory> factories = createProcessorFactories(); - - private static List<ProcessorFactory> createProcessorFactories() { + protected Collection<ProcessorFactory> minimalSetOfProcessors() { return Arrays.asList( SearchMustHaveDocument::new, UrlFieldValidator::new, @@ -74,7 +74,11 @@ public class Processing { RankProfileTypeSettingsProcessor::new, ReferenceFieldsProcessor::new, FastAccessValidator::new, - ReservedFunctionNames::new, + ReservedFunctionNames::new); + } + + private Collection<ProcessorFactory> extendedSetOfProcessors() { + return Arrays.asList( RankingExpressionTypeValidator::new, // These should be last. @@ -82,6 +86,12 @@ public class Processing { IndexingValues::new); } + protected Collection<ProcessorFactory> createProcessorFactories() { + List<ProcessorFactory> processorFactories = new ArrayList<>(minimalSetOfProcessors()); + processorFactories.addAll(extendedSetOfProcessors()); + return processorFactories; + } + /** * Runs all search processors on the given {@link Search} object. These will modify the search object, <b>possibly * exchanging it with another</b>, as well as its document types. @@ -91,11 +101,10 @@ public class Processing { * @param rankProfileRegistry a {@link com.yahoo.searchdefinition.RankProfileRegistry} * @param queryProfiles The query profiles contained in the application this search is part of. */ - public static void process(Search search, - DeployLogger deployLogger, - RankProfileRegistry rankProfileRegistry, - QueryProfiles queryProfiles, - boolean validate) { + public void process(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, + QueryProfiles queryProfiles, boolean validate) + { + Collection<ProcessorFactory> factories = createProcessorFactories(); search.process(); factories.stream() .map(factory -> factory.create(search, deployLogger, rankProfileRegistry, queryProfiles)) |