summaryrefslogtreecommitdiffstats
path: root/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-14 18:41:49 +0100
committerJon Bratseth <bratseth@gmail.com>2023-01-14 18:41:49 +0100
commit416f596b150ec159717bfd2f9b2ef70e4d4cd3dd (patch)
treefd78cf0541670dd50e2dc3256c5b9755ced8f73e /vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
parenta289581cbf94ff6997356110b54bd6993e956b9e (diff)
Support direct tensor rendering
Diffstat (limited to 'vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java')
-rw-r--r--vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java17
1 files changed, 14 insertions, 3 deletions
diff --git a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
index 7a66ba2ee79..1e2ee3968fa 100644
--- a/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
+++ b/vespaclient-container-plugin/src/main/java/com/yahoo/document/restapi/resource/DocumentV1ApiHandler.java
@@ -749,14 +749,25 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
private boolean tensorShortForm() {
if (request != null &&
request.parameters().containsKey("format.tensors") &&
- request.parameters().get("format.tensors").contains("long")) {
+ ( request.parameters().get("format.tensors").contains("long")
+ || request.parameters().get("format.tensors").contains("long-value"))) {
return false;
}
return true; // default
}
+ private boolean tensorDirectValues() {
+ if (request != null &&
+ request.parameters().containsKey("format.tensors") &&
+ ( request.parameters().get("format.tensors").contains("short-value")
+ || request.parameters().get("format.tensors").contains("long-value"))) {
+ return true;
+ }
+ return false; // TODO: Flip default on Vespa 9
+ }
+
synchronized void writeSingleDocument(Document document) throws IOException {
- new JsonWriter(json, tensorShortForm()).writeFields(document);
+ new JsonWriter(json, tensorShortForm(), tensorDirectValues()).writeFields(document);
}
synchronized void writeDocumentsArrayStart() throws IOException {
@@ -775,7 +786,7 @@ public class DocumentV1ApiHandler extends AbstractRequestHandler {
ByteArrayOutputStream myOut = new ByteArrayOutputStream(1);
myOut.write(','); // Prepend rather than append, to avoid double memory copying.
try (JsonGenerator myJson = jsonFactory.createGenerator(myOut)) {
- new JsonWriter(myJson, tensorShortForm()).write(document);
+ new JsonWriter(myJson, tensorShortForm(), tensorDirectValues()).write(document);
}
docs.add(myOut);