diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-07-06 10:58:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-07-06 10:58:28 +0200 |
commit | 59bbee7e7130e482502761688057c4908d021682 (patch) | |
tree | fde586bfeddc0c057904d358ab830a978c34078c /streamingvisitors | |
parent | 23fa335ada7f385ea3c28f35618f564a927bee64 (diff) | |
parent | d2b1b8857eb0f36a111af394509eca1a66d121b8 (diff) |
Merge pull request #23372 from vespa-engine/toregge/add-insert-summary-field-member-function-to-docsum-store-document-interface
Add insert_summary_field member function to IDoscumStoreDocument.
Diffstat (limited to 'streamingvisitors')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp index a5fe08da605..5341379fe96 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp @@ -134,6 +134,7 @@ public: DocsumStoreVsmDocument(const document::Document* document); ~DocsumStoreVsmDocument() override; std::unique_ptr<document::FieldValue> get_field_value(const vespalib::string& field_name) const override; + void insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const override; }; DocsumStoreVsmDocument::DocsumStoreVsmDocument(const document::Document* document) @@ -158,6 +159,19 @@ DocsumStoreVsmDocument::get_field_value(const vespalib::string& field_name) cons return {}; } +void +DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const +{ + auto field_value = get_field_value(field_name); + if (field_value) { + CheckUndefinedValueVisitor check_undefined; + field_value->accept(check_undefined); + if (!check_undefined.is_undefined()) { + SummaryFieldConverter::insert_summary_field(false, *field_value, inserter); + } + } +} + } FieldPath |