summaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-09-01 21:55:30 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2022-09-01 22:19:25 +0200
commit1583768921c1703475458428c9faf5d88acdff27 (patch)
tree9cd27c2160acc40f92737a1edcbac50d5c32a9c1 /searchlib/src
parent36bead13fbbd0b3ce5c5a364b6f07ee1d3555b9b (diff)
- Add fieldlist to docsum request.
- Only return fields requested from the backend.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/protobuf/search_protocol.proto1
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumrequest.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/engine/docsumrequest.h7
3 files changed, 9 insertions, 3 deletions
diff --git a/searchlib/src/protobuf/search_protocol.proto b/searchlib/src/protobuf/search_protocol.proto
index b46287d8d71..3cf2f01a7a8 100644
--- a/searchlib/src/protobuf/search_protocol.proto
+++ b/searchlib/src/protobuf/search_protocol.proto
@@ -88,6 +88,7 @@ message DocsumRequest {
string geo_location = 13; // to be moved into query_tree
bytes query_tree_blob = 14; // serialized opaquely like now, to be changed later
repeated bytes global_ids = 15;
+ repeated string fields = 16;
}
message DocsumReply {
diff --git a/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp b/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp
index 8b3325fbdd5..143f4586313 100644
--- a/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp
+++ b/searchlib/src/vespa/searchlib/engine/docsumrequest.cpp
@@ -12,7 +12,9 @@ DocsumRequest::DocsumRequest()
DocsumRequest::DocsumRequest(RelativeTime relativeTime)
: Request(std::move(relativeTime)),
resultClassName(),
- hits()
+ hits(),
+ sessionId(),
+ _fields()
{
}
diff --git a/searchlib/src/vespa/searchlib/engine/docsumrequest.h b/searchlib/src/vespa/searchlib/engine/docsumrequest.h
index d4f3a1ec340..b53bac42cd3 100644
--- a/searchlib/src/vespa/searchlib/engine/docsumrequest.h
+++ b/searchlib/src/vespa/searchlib/engine/docsumrequest.h
@@ -15,6 +15,7 @@ public:
using UP = std::unique_ptr<DocsumRequest>;
using SP = std::shared_ptr<DocsumRequest>;
using Source = LazySource<DocsumRequest>;
+ using FieldList = std::vector<vespalib::string>;
class Hit {
public:
@@ -25,15 +26,17 @@ public:
mutable uint32_t docid; // converted in backend
};
-public:
vespalib::string resultClassName;
-public:
std::vector<Hit> hits;
std::vector<char> sessionId;
DocsumRequest();
DocsumRequest(RelativeTime relativeTime);
~DocsumRequest() override;
+ const FieldList & getFields() const { return _fields; }
+ void setFields(FieldList fields) { _fields = std::move(fields); }
+private:
+ FieldList _fields;
};
}