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.java28
1 files changed, 4 insertions, 24 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 15d295736c1..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
@@ -7,8 +7,10 @@ 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;
/**
* Executor of processors. This defines the right order of processor execution.
@@ -73,20 +75,12 @@ public class Processing {
ReferenceFieldsProcessor::new,
FastAccessValidator::new,
ReservedFunctionNames::new,
- RankingExpressionTypeResolver::new,
+ RankingExpressionTypeValidator::new,
// These should be last:
IndexingValidation::new,
IndexingValues::new);
}
- /** Processors of rank profiles only (those who tolerate and so something useful when the search field is null) */
- private Collection<ProcessorFactory> rankProfileProcessors() {
- return Arrays.asList(
- RankProfileTypeSettingsProcessor::new,
- ReservedFunctionNames::new,
- RankingExpressionTypeResolver::new);
- }
-
/**
* 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.
@@ -99,26 +93,12 @@ public class Processing {
public void process(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry,
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, documentsOnly));
}
- /**
- * Runs rank profiles processors only.
- *
- * @param deployLogger The log to log messages and warnings for application deployment to
- * @param rankProfileRegistry a {@link com.yahoo.searchdefinition.RankProfileRegistry}
- * @param queryProfiles The query profiles contained in the application this search is part of.
- */
- public void processRankProfiles(DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry,
- QueryProfiles queryProfiles, boolean validate, boolean documentsOnly) {
- Collection<ProcessorFactory> factories = rankProfileProcessors();
- factories.stream()
- .map(factory -> factory.create(null, deployLogger, rankProfileRegistry, queryProfiles))
- .forEach(processor -> processor.process(validate, documentsOnly));
- }
-
@FunctionalInterface
public interface ProcessorFactory {
Processor create(Search search, DeployLogger deployLogger, RankProfileRegistry rankProfileRegistry, QueryProfiles queryProfiles);