diff options
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java')
-rw-r--r-- | container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java b/container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java index 5c85c3641cf..cb115502468 100644 --- a/container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java +++ b/container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java @@ -1,18 +1,14 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. /** - * Class representing a string field in the result set - * + * Class converting data (historically XML-encoded) from a document summary field. + * This has only been used to represent geographical positions. */ package com.yahoo.prelude.fastsearch; - -import java.nio.ByteBuffer; - -import com.yahoo.io.SlowInflate; -import com.yahoo.prelude.hitfield.XMLString; -import com.yahoo.text.Utf8; import com.yahoo.data.access.Inspector; - +import com.yahoo.data.access.Type; +import com.yahoo.prelude.hitfield.XMLString; +import com.yahoo.search.result.PositionsData; /** * @author Steinar Knutsen @@ -34,6 +30,13 @@ public class XMLField extends DocsumField { @Override public Object convert(Inspector value) { + /* In Vespa 6 the backend will send an XML-formatted string to represent + * positions data. This will change in next version to sending an array + * of objects instead, suitable for the PositionsData class. + */ + if (value.type() == Type.ARRAY) { + return new PositionsData(value); + } return convert(value.asString("")); } |