diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/derived/SummaryMap.java | 25 |
1 files changed, 13 insertions, 12 deletions
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 c65ed7dc762..9e1740b4073 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 @@ -14,13 +14,13 @@ import java.util.Map; /** * A summary map (describing search-time summary field transformations) - * derived from a search definition + * derived from a Schema. * - * @author bratseth + * @author bratseth */ public class SummaryMap extends Derived implements SummarymapConfig.Producer { - private Map<String,FieldResultTransform> resultTransforms = new java.util.LinkedHashMap<>(); + private final Map<String, FieldResultTransform> resultTransforms = new java.util.LinkedHashMap<>(); /** Creates a summary map from a search definition */ SummaryMap(Schema schema) { @@ -49,32 +49,32 @@ public class SummaryMap extends Derived implements SummarymapConfig.Producer { summaryField.getTransform()==SummaryTransform.MATCHED_ELEMENTS_FILTER || summaryField.getTransform()==SummaryTransform.MATCHED_ATTRIBUTE_ELEMENTS_FILTER) { - resultTransforms.put(summaryField.getName(),new FieldResultTransform(summaryField.getName(), - summaryField.getTransform(), - summaryField.getSingleSource())); + resultTransforms.put(summaryField.getName(), new FieldResultTransform(summaryField.getName(), + summaryField.getTransform(), + summaryField.getSingleSource())); } 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 - resultTransforms.put(summaryField.getName(),new FieldResultTransform(summaryField.getName(), - summaryField.getTransform(), - summaryField.getName())); + resultTransforms.put(summaryField.getName(), new FieldResultTransform(summaryField.getName(), + summaryField.getTransform(), + summaryField.getName())); } } } /** Returns a read-only iterator of the FieldResultTransforms of this summary map */ - public Iterator resultTransformIterator() { - return Collections.unmodifiableCollection(resultTransforms.values()).iterator(); + public Map<String, FieldResultTransform> resultTransforms() { + return Collections.unmodifiableMap(resultTransforms); } protected String getDerivedName() { return "summarymap"; } /** Returns the command name of a transform */ private String getCommand(SummaryTransform transform) { - if (transform.equals(SummaryTransform.DISTANCE)) + if (transform == SummaryTransform.DISTANCE) return "absdist"; else if (transform.isDynamic()) return "dynamicteaser"; @@ -87,6 +87,7 @@ public class SummaryMap extends Derived implements SummarymapConfig.Producer { * 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. */ + // TODO/Note: "dynamic" here means something else than in SummaryTransform public static boolean isDynamicCommand(String commandName) { return (commandName.equals("dynamicteaser") || commandName.equals(SummaryTransform.MATCHED_ELEMENTS_FILTER.getName()) || |