diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-09-12 14:20:07 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-09-12 14:20:07 +0200 |
commit | 3a2b527c645d3cb858bbe5f7f9b812e947e7cdce (patch) | |
tree | c50d6b7f8c7e5998e147a032d2ddac66c883a759 /streamingvisitors | |
parent | 5dc2018a6c910e94b44e415fadebda3f95267130 (diff) |
Add callback interface for rendering string field value via juniper.
Diffstat (limited to 'streamingvisitors')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp index a5f49616d83..32a9da08a51 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/docsumfilter.cpp @@ -45,8 +45,8 @@ public: DocsumStoreVsmDocument(DocsumFilter& docsum_filter, const Document& vsm_document); ~DocsumStoreVsmDocument() override; DocsumStoreFieldValue get_field_value(const vespalib::string& field_name) const override; - JuniperInput get_juniper_input(const vespalib::string& field_name) const override; void insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const override; + void insert_juniper_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter, IJuniperConverter& converter) const override; void insert_document_id(vespalib::slime::Inserter& inserter) const override; }; @@ -84,13 +84,6 @@ DocsumStoreVsmDocument::get_field_value(const vespalib::string& field_name) cons return {}; } -JuniperInput -DocsumStoreVsmDocument::get_juniper_input(const vespalib::string& field_name) const -{ - // Markup for juniper has already been added due to FLATTENJUNIPER command in vsm summary config. - return JuniperInput(get_field_value(field_name)); -} - void DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter) const { @@ -116,6 +109,16 @@ DocsumStoreVsmDocument::insert_summary_field(const vespalib::string& field_name, } void +DocsumStoreVsmDocument::insert_juniper_field(const vespalib::string& field_name, vespalib::slime::Inserter& inserter, IJuniperConverter& converter) const +{ + // Markup for juniper has already been added due to FLATTENJUNIPER command in vsm summary config. + auto field_value = get_field_value(field_name); + if (field_value) { + SummaryFieldConverter::insert_juniper_field(*field_value, inserter, false, converter); + } +} + +void DocsumStoreVsmDocument::insert_document_id(vespalib::slime::Inserter& inserter) const { if (_document) { |