diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-09-13 11:24:10 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-09-13 12:32:36 +0000 |
commit | 65ecb02c12d3f87ee3839bdddd14ce969a40d7ce (patch) | |
tree | c193afa889d34108c88d7dcec7be4d54a5c58516 /config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java | |
parent | cf494ca75f3dc3bd66ef90a8438a20a5dd447452 (diff) |
Allow dynamic transforms on array<string> summary fields.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java b/config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java index b8aa89fc82a..b9355693da8 100644 --- a/config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java +++ b/config-model/src/main/java/com/yahoo/schema/derived/SummaryClass.java @@ -5,6 +5,7 @@ import com.yahoo.config.application.api.DeployLogger; import com.yahoo.document.DataType; import com.yahoo.prelude.fastsearch.DocsumDefinitionSet; import com.yahoo.schema.Schema; +import com.yahoo.schema.processing.DynamicSummaryTransformUtils; import com.yahoo.vespa.config.search.SummaryConfig; import com.yahoo.vespa.documentmodel.DocumentSummary; import com.yahoo.vespa.documentmodel.SummaryField; @@ -158,14 +159,10 @@ public class SummaryClass extends Derived { summaryField.getTransform() == SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER) { return summaryField.getSingleSource(); + } else if (summaryField.getTransform().isDynamic()) { + return DynamicSummaryTransformUtils.getSource(summaryField); } else { - // Note: Currently source mapping is handled in the indexing statement, - // by creating a summary field for each of the values - // This works, but is suboptimal. We could consolidate to a minimal set and - // use the right value from the minimal set as the third parameter here, - // and add "override" commands to multiple static values - boolean useFieldNameAsArgument = summaryField.getTransform().isDynamic(); - return useFieldNameAsArgument ? summaryField.getName() : ""; + return ""; } } |