diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-15 11:15:53 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2019-08-15 11:15:53 +0200 |
commit | 6de0cbab773533fcce8783cbf72584aa19023036 (patch) | |
tree | 5b0feb2617078c14e1d5a2cc4ce54dea0f3ac134 /container-search | |
parent | d24cd657b1793c689fb3c8bafdedb7bf908eaec0 (diff) |
Location should also be sent anyway.
Diffstat (limited to 'container-search')
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/rpc/ProtobufSerialization.java | 2 | ||||
-rw-r--r-- | container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java | 9 |
2 files changed, 8 insertions, 3 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 68beb16c254..3db5e291a45 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 @@ -140,7 +140,7 @@ public class ProtobufSerialization { builder.setCacheQuery(true); builder.setSessionKey(query.getSessionId(serverId).toString()); } - builder.setRankProfile(query.getRanking().getProfile()); + builder.setRankProfile(ranking.getProfile()); if (ranking.getLocation() != null) { builder.setGeoLocation(ranking.getLocation().toString()); diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java index 33215f0a9f2..712dca2c34a 100644 --- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java +++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcFillInvoker.java @@ -7,6 +7,7 @@ import com.yahoo.compress.Compressor; import com.yahoo.container.protect.Error; import com.yahoo.data.access.Inspector; import com.yahoo.data.access.slime.SlimeAdapter; +import com.yahoo.prelude.Location; import com.yahoo.prelude.fastsearch.DocumentDatabase; import com.yahoo.prelude.fastsearch.FastHit; import com.yahoo.prelude.fastsearch.TimeoutException; @@ -113,13 +114,14 @@ public class RpcFillInvoker extends FillInvoker { Query query = result.getQuery(); String rankProfile = query.getRanking().getProfile(); byte[] serializedSlime = BinaryFormat - .encode(toSlime(rankProfile, summaryClass, query.getModel().getDocumentDb(), query.getSessionId(), hits)); + .encode(toSlime(rankProfile, summaryClass, query.getModel().getDocumentDb(), + query.getSessionId(), query.getRanking().getLocation(), hits)); double timeoutSeconds = ((double) query.getTimeLeft() - 3.0) / 1000.0; Compressor.Compression compressionResult = resourcePool.compress(query, serializedSlime); node.getDocsums(hits, compressionResult.type(), serializedSlime.length, compressionResult.data(), responseReceiver, timeoutSeconds); } - static private Slime toSlime(String rankProfile, String summaryClass, String docType, SessionId sessionId, List<FastHit> hits) { + static private Slime toSlime(String rankProfile, String summaryClass, String docType, SessionId sessionId, Location location, List<FastHit> hits) { Slime slime = new Slime(); Cursor root = slime.setObject(); if (summaryClass != null) { @@ -134,6 +136,9 @@ public class RpcFillInvoker extends FillInvoker { if (rankProfile != null) { root.setString("ranking", rankProfile); } + if (location != null) { + root.setString("location", location.toString()); + } Cursor gids = root.setArray("gids"); for (FastHit hit : hits) { gids.addData(hit.getGlobalId().getRawId()); |