summaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java
diff options
context:
space:
mode:
authorOlli Virtanen <olli.virtanen@oath.com>2019-03-27 14:55:30 +0100
committerOlli Virtanen <olli.virtanen@oath.com>2019-03-27 14:55:30 +0100
commit2d68d291bacdcea237cb3f6c3e5f85aa61845b88 (patch)
tree8f45ae2022e0a812e18513398e242a0a121166dd /container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java
parent5e33bb54604989bb2cef605572f7750d45eb630a (diff)
Retrieve document summaries over jrt/protobuf
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java
index f17e7d63431..c1b164aaeaa 100644
--- a/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java
+++ b/container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java
@@ -6,6 +6,7 @@ import com.yahoo.prelude.fastsearch.VespaBackEndSearcher;
import com.yahoo.processing.request.CompoundName;
import com.yahoo.search.Query;
import com.yahoo.search.Result;
+import com.yahoo.search.dispatch.Dispatcher;
import com.yahoo.search.dispatch.FillInvoker;
import com.yahoo.search.dispatch.InvokerFactory;
import com.yahoo.search.dispatch.SearchInvoker;
@@ -36,8 +37,15 @@ public class RpcInvokerFactory extends InvokerFactory {
@Override
public Optional<FillInvoker> createFillInvoker(VespaBackEndSearcher searcher, Result result) {
Query query = result.getQuery();
+
+ boolean summaryNeedsQuery = searcher.summaryNeedsQuery(query);
+
+ if(query.properties().getBoolean(Dispatcher.dispatchProtobuf, false)) {
+ return Optional.of(new RpcProtobufFillInvoker(rpcResourcePool, searcher.getDocumentDatabase(query), searcher.getServerId(),
+ summaryNeedsQuery));
+ }
if (query.properties().getBoolean(dispatchSummaries, true)
- && ! searcher.summaryNeedsQuery(query)
+ && ! summaryNeedsQuery
&& query.getRanking().getLocation() == null)
{
return Optional.of(new RpcFillInvoker(rpcResourcePool, searcher.getDocumentDatabase(query)));