summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2018-05-11 19:47:49 +0200
committerJon Bratseth <bratseth@oath.com>2018-05-11 19:47:49 +0200
commit5aee8939ac121c16e3eeee3a9dab482149e1ffd0 (patch)
treea90724057d5f15ae4239daea30759881c779791c /container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java
parent40e9964ea6f7e9940aebd45591822cb7982a914d (diff)
Convert fields and test traversal first
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java
index e20340a03c0..675c1af6545 100644
--- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java
+++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java
@@ -3,6 +3,7 @@ package com.yahoo.prelude.fastsearch;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.ImmutableMap;
+import com.yahoo.data.access.Inspector;
import com.yahoo.vespa.config.search.SummaryConfig;
import com.yahoo.container.search.LegacyEmulationConfig;
@@ -74,6 +75,18 @@ public class DocsumDefinition {
return getField(index);
}
+ /**
+ * Returns the given slime value as the type specified in this, or null if the type is not known.
+ * Even in a correctly configured system we may encounter field names for which we do not know the type,
+ * in the time period when a configuration is changing and one node has received the new configuration and
+ * another has not.
+ */
+ public Object convert(String fieldName, Inspector value) {
+ DocsumField fieldType = getField(fieldName);
+ if (fieldType == null) return null;
+ return fieldType.convert(value);
+ }
+
public Set<String> fieldNames() {
return fieldNameToIndex.keySet();
}