diff options
Diffstat (limited to 'searchcore')
-rw-r--r-- | searchcore/src/vespa/searchcore/proton/server/documentretriever.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/server/documentretriever.cpp b/searchcore/src/vespa/searchcore/proton/server/documentretriever.cpp index 6285f4ce70f..d3778b4d745 100644 --- a/searchcore/src/vespa/searchcore/proton/server/documentretriever.cpp +++ b/searchcore/src/vespa/searchcore/proton/server/documentretriever.cpp @@ -127,6 +127,7 @@ DocumentRetriever::needFetchFromDocStore(const FieldSet & fieldSet) const { case FieldSet::Type::NONE: case FieldSet::Type::DOCID: return false; + case FieldSet::Type::DOCUMENT_ONLY: case FieldSet::Type::ALL: return ! _areAllFieldsAttributes; case FieldSet::Type::FIELD: { @@ -257,6 +258,14 @@ DocumentRetriever::getPartialDocument(search::DocumentIdT lid, const document::D populate(lid, *doc, set.getFields()); break; } + case FieldSet::Type::DOCUMENT_ONLY: { + const auto * actual = getDocumentType().getFieldSet(document::DocumentOnly::NAME); + if (actual != nullptr) { + const auto &set = actual->asCollection(); + populate(lid, *doc, set.getFields()); + } + break; + } case FieldSet::Type::NONE: case FieldSet::Type::DOCID: break; |