summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2022-07-02 18:35:02 +0200
committerTor Egge <Tor.Egge@online.no>2022-07-02 18:35:02 +0200
commit7fe5ed56aeb183da725c7225a01f23d2d91d99de (patch)
tree2b31b302c0aca379073f6bd193df93da32c16189 /searchcore
parent59a1f9116e9cc37d749caa4ea7b0bf05662eae29 (diff)
Add DocsumBlobEntryFilter to limit types in docsum blob.
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/documentstoreadapter.cpp4
-rw-r--r--searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp3
2 files changed, 6 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/documentstoreadapter.cpp b/searchcore/src/vespa/searchcore/proton/docsummary/documentstoreadapter.cpp
index 3550b38383a..1aae840d6c9 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/documentstoreadapter.cpp
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/documentstoreadapter.cpp
@@ -101,6 +101,10 @@ void
DocumentStoreAdapter::convertFromSearchDoc(Document &doc, uint32_t docId)
{
for (size_t i = 0; i < _resultClass->GetNumEntries(); ++i) {
+ if (i != _resultPacker.get_entry_idx()) {
+ // Entry is not present in docsum blob
+ continue;
+ }
const ResConfigEntry * entry = _resultClass->GetEntry(i);
const vespalib::string fieldName(entry->_bindname);
bool markup = _markupFields.find(fieldName) != _markupFields.end();
diff --git a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp
index a04f5bfa651..5256fca7e14 100644
--- a/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp
+++ b/searchcore/src/vespa/searchcore/proton/docsummary/summarymanager.cpp
@@ -93,7 +93,8 @@ SummarySetup(const vespalib::string & baseDir, const DocTypeName & docTypeName,
_repo(repo),
_markupFields()
{
- auto resultConfig = std::make_unique<ResultConfig>();
+ DocsumBlobEntryFilter docsum_blob_entry_filter;
+ auto resultConfig = std::make_unique<ResultConfig>(docsum_blob_entry_filter);
if (!resultConfig->ReadConfig(summaryCfg, make_string("SummaryManager(%s)", baseDir.c_str()).c_str())) {
std::ostringstream oss;
::config::OstreamConfigWriter writer(oss);