aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/fastsearch/XMLField.java
diff options
context:
space:
mode:
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.java21
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(""));
}