diff options
author | Jon Bratseth <bratseth@oath.com> | 2018-05-11 19:47:49 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@oath.com> | 2018-05-11 19:47:49 +0200 |
commit | 5aee8939ac121c16e3eeee3a9dab482149e1ffd0 (patch) | |
tree | a90724057d5f15ae4239daea30759881c779791c /container-search/src/main/java/com/yahoo/prelude/fastsearch/DocsumDefinition.java | |
parent | 40e9964ea6f7e9940aebd45591822cb7982a914d (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.java | 13 |
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(); } |