diff options
author | Arne H Juul <arnej27959@users.noreply.github.com> | 2022-01-19 09:54:55 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-19 09:54:55 +0100 |
commit | e79d967e99c27412e502d4aaa32b6a60d88fcbbb (patch) | |
tree | f9ec474e290bb9aec886f57ff8f538d0a87ead5c /searchcore | |
parent | 4cc7565cfe27aef8809337f3d926dbfff18f3b9a (diff) | |
parent | 7572116c9c76967ec986803103bcbc3427083762 (diff) |
Merge pull request #20861 from vespa-engine/arnej/special-document-only-fieldset
add special '[document]' fieldset
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; |