diff options
author | Geir Storli <geirst@verizonmedia.com> | 2019-10-22 09:06:21 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2019-10-22 09:06:21 +0000 |
commit | 4f2f3397b3a66ee377b704ea54ab705db1529c79 (patch) | |
tree | 8c089d1955984642eed36cf7017ed2381d3d354c | |
parent | 46dba08f5902aff081471aeea79aa009e13cca03 (diff) |
Handle matched element filter transforms for imported complex fields.
5 files changed, 49 insertions, 8 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 f0575f1f70f..73018e2cbc1 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 @@ -52,6 +52,10 @@ public class AddAttributeTransformToSummaryOfImportedFields extends Processor { } private static void setAttributeCombinerTransform(SummaryField summaryField) { - summaryField.setTransform(SummaryTransform.ATTRIBUTECOMBINER); + if (summaryField.getTransform() == SummaryTransform.MATCHED_ELEMENTS_FILTER) { + summaryField.setTransform(SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER); + } else { + summaryField.setTransform(SummaryTransform.ATTRIBUTECOMBINER); + } } } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java index 13eebc289a6..fec610ec41e 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/MakeDefaultSummaryTheSuperSet.java @@ -40,6 +40,7 @@ public class MakeDefaultSummaryTheSuperSet extends Processor { if (defaultSummary.getSummaryField(summaryField.getName()) != null) continue; if (summaryField.getTransform() == SummaryTransform.ATTRIBUTE) continue; if (summaryField.getTransform() == SummaryTransform.ATTRIBUTECOMBINER) continue; + if (summaryField.getTransform() == SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER) continue; defaultSummary.add(summaryField.clone()); } diff --git a/config-model/src/test/derived/imported_struct_fields/child.sd b/config-model/src/test/derived/imported_struct_fields/child.sd index 8453031022b..c5323bd3c7b 100644 --- a/config-model/src/test/derived/imported_struct_fields/child.sd +++ b/config-model/src/test/derived/imported_struct_fields/child.sd @@ -15,5 +15,20 @@ search child { summary my_elem_map type map<string, elem> {} summary my_str_int_map type map<string, int> {} } + + document-summary filtered { + summary elem_array_filtered type array<elem> { + source: my_elem_array + matched-elements-only + } + summary elem_map_filtered type map<string, elem> { + source: my_elem_map + matched-elements-only + } + summary str_int_map_filtered type map<string, int> { + source: my_str_int_map + matched-elements-only + } + } } diff --git a/config-model/src/test/derived/imported_struct_fields/summary.cfg b/config-model/src/test/derived/imported_struct_fields/summary.cfg index 666da5bbc76..3a9bf4f5e0a 100644 --- a/config-model/src/test/derived/imported_struct_fields/summary.cfg +++ b/config-model/src/test/derived/imported_struct_fields/summary.cfg @@ -23,9 +23,21 @@ classes[1].fields[4].name "rankfeatures" classes[1].fields[4].type "featuredata" classes[1].fields[5].name "summaryfeatures" classes[1].fields[5].type "featuredata" -classes[2].id 1274088866 -classes[2].name "attributeprefetch" -classes[2].fields[0].name "rankfeatures" -classes[2].fields[0].type "featuredata" -classes[2].fields[1].name "summaryfeatures" -classes[2].fields[1].type "featuredata"
\ No newline at end of file +classes[2].id 1629947863 +classes[2].name "filtered" +classes[2].fields[0].name "elem_array_filtered" +classes[2].fields[0].type "jsonstring" +classes[2].fields[1].name "elem_map_filtered" +classes[2].fields[1].type "jsonstring" +classes[2].fields[2].name "str_int_map_filtered" +classes[2].fields[2].type "jsonstring" +classes[2].fields[3].name "rankfeatures" +classes[2].fields[3].type "featuredata" +classes[2].fields[4].name "summaryfeatures" +classes[2].fields[4].type "featuredata" +classes[3].id 1274088866 +classes[3].name "attributeprefetch" +classes[3].fields[0].name "rankfeatures" +classes[3].fields[0].type "featuredata" +classes[3].fields[1].name "summaryfeatures" +classes[3].fields[1].type "featuredata"
\ No newline at end of file diff --git a/config-model/src/test/derived/imported_struct_fields/summarymap.cfg b/config-model/src/test/derived/imported_struct_fields/summarymap.cfg index 0b869417aef..ccb61354ccb 100644 --- a/config-model/src/test/derived/imported_struct_fields/summarymap.cfg +++ b/config-model/src/test/derived/imported_struct_fields/summarymap.cfg @@ -13,4 +13,13 @@ override[3].command "rankfeatures" override[3].arguments "" override[4].field "summaryfeatures" override[4].command "summaryfeatures" -override[4].arguments ""
\ No newline at end of file +override[4].arguments "" +override[5].field "elem_array_filtered" +override[5].command "matchedattributeelementsfilter" +override[5].arguments "my_elem_array" +override[6].field "elem_map_filtered" +override[6].command "matchedattributeelementsfilter" +override[6].arguments "my_elem_map" +override[7].field "str_int_map_filtered" +override[7].command "matchedattributeelementsfilter" +override[7].arguments "my_str_int_map"
\ No newline at end of file |