diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-07-05 20:38:22 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-07-05 20:38:22 +0200 |
commit | d2b1b8857eb0f36a111af394509eca1a66d121b8 (patch) | |
tree | c4eafa305bf4086fa9df6add08b2446875a538e8 /streamingvisitors | |
parent | 93eb6426e14b015052c9b885ebd280aac9e545cb (diff) |
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 |