From 46dba08f5902aff081471aeea79aa009e13cca03 Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Tue, 22 Oct 2019 09:05:15 +0000 Subject: Mark matched elements filter transforms as dynamic that require the query. --- .../main/java/com/yahoo/searchdefinition/derived/SummaryMap.java | 5 ++++- .../com/yahoo/searchdefinition/derived/SummaryMapTestCase.java | 8 ++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) (limited to 'config-model') diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java index 74de63eae3a..9ef563edbc4 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java @@ -85,9 +85,12 @@ public class SummaryMap extends Derived implements SummarymapConfig.Producer { /** * Does this summary command name stand for a dynamic transform? * We need this because some model information is shared through configs instead of model - see usage + * A dynamic transform needs the query to perform its computations. */ public static boolean isDynamicCommand(String commandName) { - return (commandName.equals("dynamicteaser") || commandName.equals("smartsummary")); + return (commandName.equals("dynamicteaser") || + commandName.equals(SummaryTransform.MATCHED_ELEMENTS_FILTER.getName()) || + commandName.equals(SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER.getName())); } @Override diff --git a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SummaryMapTestCase.java b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SummaryMapTestCase.java index 3f05fc67831..f85f9994e04 100644 --- a/config-model/src/test/java/com/yahoo/searchdefinition/derived/SummaryMapTestCase.java +++ b/config-model/src/test/java/com/yahoo/searchdefinition/derived/SummaryMapTestCase.java @@ -167,6 +167,14 @@ public class SummaryMapTestCase extends SearchDefinitionTestCase { "}"), "my_field", SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER.getName()); } + @Test + public void commands_that_are_dynamic_and_require_the_query() { + assertTrue(SummaryMap.isDynamicCommand("dynamicteaser")); + assertTrue(SummaryMap.isDynamicCommand(SummaryTransform.MATCHED_ELEMENTS_FILTER.getName())); + assertTrue(SummaryMap.isDynamicCommand(SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER.getName())); + assertFalse(SummaryMap.isDynamicCommand(SummaryTransform.ATTRIBUTE.getName())); + } + private void assertOverride(String fieldContent, String expFieldName, String expCommand) throws ParseException { var summaryMap = new SummaryMap(buildSearch(fieldContent)); var cfgBuilder = new SummarymapConfig.Builder(); -- cgit v1.2.3