summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2019-01-10 15:33:47 +0100
committerTor Egge <Tor.Egge@broadpark.no>2019-01-11 11:18:03 +0100
commit714931304b90a3438c4b048f5b4f94119dac2b23 (patch)
treed4abe5a03366e85274bb3179a976d0405d419c5f /config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java
parent0719167b1ebdc03e79156dafded27edee3daa852 (diff)
Stop flattening imported fields.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java
index 6a1275a73d9..59dc4275e15 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/AddAttributeTransformToSummaryOfImportedFields.java
@@ -4,7 +4,9 @@ package com.yahoo.searchdefinition.processing;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.searchdefinition.RankProfileRegistry;
import com.yahoo.searchdefinition.Search;
+import com.yahoo.searchdefinition.document.ImmutableImportedComplexSDField;
import com.yahoo.searchdefinition.document.ImmutableSDField;
+import com.yahoo.searchdefinition.document.ImportedComplexField;
import com.yahoo.vespa.documentmodel.SummaryField;
import com.yahoo.vespa.documentmodel.SummaryTransform;
import com.yahoo.vespa.model.container.search.QueryProfiles;
@@ -30,19 +32,21 @@ public class AddAttributeTransformToSummaryOfImportedFields extends Processor {
@Override
public void process(boolean validate, boolean documentsOnly) {
search.allImportedFields()
- .flatMap(this::getSummaryFieldsForImportedField)
- .forEach(AddAttributeTransformToSummaryOfImportedFields::setAttributeTransform);
- search.importedFields().map(fields -> fields.complexFields().values().stream()).
- orElse(Stream.empty()).
- map(field -> field.asImmutableSDField()).
- flatMap(this::getSummaryFieldsForImportedField).
- forEach(AddAttributeTransformToSummaryOfImportedFields::setAttributeCombinerTransform);
+ .forEach(field -> setTransform(field));
}
private Stream<SummaryField> getSummaryFieldsForImportedField(ImmutableSDField importedField) {
return search.getSummaryFields(importedField).values().stream();
}
+ private void setTransform(ImmutableSDField field) {
+ if (field instanceof ImmutableImportedComplexSDField) {
+ getSummaryFieldsForImportedField(field).forEach(AddAttributeTransformToSummaryOfImportedFields::setAttributeCombinerTransform);
+ } else {
+ getSummaryFieldsForImportedField(field).forEach(AddAttributeTransformToSummaryOfImportedFields::setAttributeTransform);
+ }
+ }
+
private static void setAttributeTransform(SummaryField summaryField) {
if (summaryField.getTransform() == SummaryTransform.NONE) {
summaryField.setTransform(SummaryTransform.ATTRIBUTE);