summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/Processing.java25
1 files changed, 7 insertions, 18 deletions
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 9b4b74d07d8..8c8c32389e2 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
@@ -20,7 +20,7 @@ import java.util.List;
*/
public class Processing {
- protected Collection<ProcessorFactory> minimalSetOfProcessors() {
+ private Collection<ProcessorFactory> processors() {
return Arrays.asList(
SearchMustHaveDocument::new,
UrlFieldValidator::new,
@@ -74,24 +74,13 @@ public class Processing {
RankProfileTypeSettingsProcessor::new,
ReferenceFieldsProcessor::new,
FastAccessValidator::new,
- ReservedMacroNames::new);
- }
-
- private Collection<ProcessorFactory> extendedSetOfProcessors() {
- return Arrays.asList(
+ ReservedFunctionNames::new,
RankingExpressionTypeValidator::new,
-
- // These should be last.
+ // These should be last:
IndexingValidation::new,
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.
@@ -102,17 +91,17 @@ public class Processing {
* @param queryProfiles The query profiles contained in the application this search is part of.
*/
public void process(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry,
- QueryProfiles queryProfiles, boolean validate)
- {
- Collection<ProcessorFactory> factories = createProcessorFactories();
+ QueryProfiles queryProfiles, boolean validate, boolean documentsOnly) {
+ Collection<ProcessorFactory> factories = processors();
search.process();
factories.stream()
.map(factory -> factory.create(search, deployLogger, rankProfileRegistry, queryProfiles))
- .forEach(processor -> processor.process(validate));
+ .forEach(processor -> processor.process(validate, documentsOnly));
}
@FunctionalInterface
public interface ProcessorFactory {
Processor create(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles);
}
+
}