summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java25
1 files changed, 17 insertions, 8 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
index 5ef4562f040..39a1587afea 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java
@@ -31,6 +31,7 @@ import java.util.List;
import java.util.function.Consumer;
public class ProtobufSerialization {
+
private static final int INITIAL_SERIALIZATION_BUFFER_SIZE = 10 * 1024;
public static byte[] serializeSearchRequest(Query query, String serverId) {
@@ -87,7 +88,7 @@ public class ProtobufSerialization {
}
var featureMap = ranking.getFeatures().asMap();
- MapConverter.convertMapStrings(featureMap, builder::addFeatureOverrides);
+ MapConverter.convertMapPrimitives(featureMap, builder::addFeatureOverrides);
MapConverter.convertMapTensors(featureMap, builder::addTensorFeatureOverrides);
mergeRankProperties(ranking, builder::addRankProperties, builder::addTensorRankProperties);
}
@@ -101,8 +102,10 @@ public class ProtobufSerialization {
}
}
- public static SearchProtocol.DocsumRequest.Builder createDocsumRequestBuilder(Query query, String serverId, String summaryClass,
- boolean includeQueryData) {
+ public static SearchProtocol.DocsumRequest.Builder createDocsumRequestBuilder(Query query,
+ String serverId,
+ String summaryClass,
+ boolean includeQueryData) {
var builder = SearchProtocol.DocsumRequest.newBuilder()
.setTimeout((int) query.getTimeLeft())
.setDumpFeatures(query.properties().getBoolean(Ranking.RANKFEATURES, false));
@@ -146,7 +149,7 @@ public class ProtobufSerialization {
if (ranking.getLocation() != null) {
builder.setGeoLocation(ranking.getLocation().toString());
}
- MapConverter.convertMapStrings(featureMap, builder::addFeatureOverrides);
+ MapConverter.convertMapPrimitives(featureMap, builder::addFeatureOverrides);
MapConverter.convertMapTensors(featureMap, builder::addTensorFeatureOverrides);
if (query.getPresentation().getHighlight() != null) {
MapConverter.convertStringMultiMap(query.getPresentation().getHighlight().getHighlightTerms(), builder::addHighlightTerms);
@@ -165,8 +168,12 @@ public class ProtobufSerialization {
return result;
}
- private static Result convertToResult(Query query, SearchProtocol.SearchReply protobuf, DocumentDatabase documentDatabase, int partId,
- int distKey, String source) {
+ private static Result convertToResult(Query query,
+ SearchProtocol.SearchReply protobuf,
+ DocumentDatabase documentDatabase,
+ int partId,
+ int distKey,
+ String source) {
var result = new Result(query);
result.setTotalHitCount(protobuf.getTotalHitCount());
@@ -269,12 +276,14 @@ public class ProtobufSerialization {
}
}
- private static void mergeRankProperties(Ranking ranking, Consumer<StringProperty.Builder> stringProperties,
- Consumer<TensorProperty.Builder> tensorProperties) {
+ private static void mergeRankProperties(Ranking ranking,
+ Consumer<StringProperty.Builder> stringProperties,
+ Consumer<TensorProperty.Builder> tensorProperties) {
MapConverter.convertMultiMap(ranking.getProperties().asMap(), propB -> {
if (!GetDocSumsPacket.sessionIdKey.equals(propB.getName())) {
stringProperties.accept(propB);
}
}, tensorProperties);
}
+
}