summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2017-09-08 16:15:52 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2017-09-08 16:15:52 +0200
commit1fe9bf4948a61be744686eab2a03627e5516f452 (patch)
treee23426b45bc392e2122cc5e177a1d92e0dd6a784 /searchcore
parent092f8895ca6e7ee8007086355c2d27047cbd8923 (diff)
Bring along the documenttype so that we know where to look for the documents.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/summaryengine/docsum_by_slime.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/summaryengine/docsum_by_slime.cpp b/searchcore/src/vespa/searchcore/proton/summaryengine/docsum_by_slime.cpp
index 79928f96d7a..a745d0f6593 100644
--- a/searchcore/src/vespa/searchcore/proton/summaryengine/docsum_by_slime.cpp
+++ b/searchcore/src/vespa/searchcore/proton/summaryengine/docsum_by_slime.cpp
@@ -30,6 +30,7 @@ namespace {
Memory SESSIONID("sessionid");
Memory RANKING("ranking");
Memory SUMMARYCLASS("class");
+Memory DOCUMENTTYPE("doctype");
Memory GIDS("gids");
Memory DOCSUM("docsum");
Memory DOCSUMS("docsums");
@@ -64,12 +65,19 @@ DocsumBySlime::slimeToRequest(const Inspector & request)
DocsumRequest::UP docsumRequest(std::make_unique<DocsumRequest>(true));
docsumRequest->resultClassName = request[SUMMARYCLASS].asString().make_string();
+
Memory m = request[SESSIONID].asData();
if (m.size > 0) {
docsumRequest->sessionId.resize(m.size);
memcpy(&docsumRequest->sessionId[0], m.data, m.size);
docsumRequest->propertiesMap.lookupCreate(search::MapNames::CACHES).add("query", "true");
}
+
+ Memory d = request[DOCUMENTTYPE].asData();
+ if (d.size > 0) {
+ docsumRequest->propertiesMap.lookupCreate(search::MapNames::MATCH).add("documentdb.searchdoctype", d.make_string());
+ }
+
docsumRequest->ranking = request[RANKING].asString().make_string();
Inspector & gids = request[GIDS];
docsumRequest->hits.reserve(gids.entries());