diff options
author | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-27 14:55:30 +0100 |
---|---|---|
committer | Olli Virtanen <olli.virtanen@oath.com> | 2019-03-27 14:55:30 +0100 |
commit | 2d68d291bacdcea237cb3f6c3e5f85aa61845b88 (patch) | |
tree | 8f45ae2022e0a812e18513398e242a0a121166dd /container-search/src/main/java/com/yahoo/search/dispatch/rpc/RpcInvokerFactory.java | |
parent | 5e33bb54604989bb2cef605572f7750d45eb630a (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.java | 10 |
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))); |