diff options
author | Geir Storli <geirst@yahooinc.com> | 2022-09-16 15:07:33 +0000 |
---|---|---|
committer | Geir Storli <geirst@yahooinc.com> | 2022-09-16 15:47:52 +0000 |
commit | 97c43da510e72a81469da6b275c708bc044f7485 (patch) | |
tree | a46a9bda29cdbaeb7ab4460c22ac99bbe0d3294d /streamingvisitors | |
parent | cdcd2970ad451bbb944a6bc564f6b0e9a88168b8 (diff) |
Unify how errors during setup is handled in DocsumFieldWriterFactory.
Diffstat (limited to 'streamingvisitors')
-rw-r--r-- | streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.cpp | 40 | ||||
-rw-r--r-- | streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.h | 4 |
2 files changed, 22 insertions, 22 deletions
diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.cpp b/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.cpp index 35410f3ec67..d5ecb158edb 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.cpp +++ b/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.cpp @@ -44,35 +44,33 @@ DocsumFieldWriterFactory::DocsumFieldWriterFactory(bool use_v8_geo_positions, co DocsumFieldWriterFactory::~DocsumFieldWriterFactory() = default; std::unique_ptr<DocsumFieldWriter> -DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& fieldName, const vespalib::string& overrideName, const vespalib::string& argument, bool& rc) +DocsumFieldWriterFactory::create_docsum_field_writer(const vespalib::string& field_name, + const vespalib::string& command, + const vespalib::string& source) { std::unique_ptr<DocsumFieldWriter> fieldWriter; - if ((overrideName == "staticrank") || - (overrideName == "ranklog") || - (overrideName == "label") || - (overrideName == "project") || - (overrideName == "positions") || - (overrideName == "absdist") || - (overrideName == "subproject")) + if ((command == "staticrank") || + (command == "ranklog") || + (command == "label") || + (command == "project") || + (command == "positions") || + (command == "absdist") || + (command == "subproject")) { fieldWriter = std::make_unique<EmptyDFW>(); - rc = true; - } else if ((overrideName == "attribute") || - (overrideName == "attributecombiner")) { - if (!argument.empty() && argument != fieldName) { - fieldWriter = std::make_unique<CopyDFW>(argument); + } else if ((command == "attribute") || + (command == "attributecombiner")) { + if (!source.empty() && source != field_name) { + fieldWriter = std::make_unique<CopyDFW>(source); } - rc = true; - } else if (overrideName == "geopos") { - rc = true; - } else if ((overrideName == "matchedattributeelementsfilter") || - (overrideName == "matchedelementsfilter")) { - vespalib::string source_field = argument.empty() ? fieldName : argument; + } else if (command == "geopos") { + } else if ((command == "matchedattributeelementsfilter") || + (command == "matchedelementsfilter")) { + vespalib::string source_field = source.empty() ? field_name : source; populate_fields(*_matching_elems_fields, _vsm_fields_config, source_field); fieldWriter = MatchedElementsFilterDFW::create(source_field, _matching_elems_fields); - rc = static_cast<bool>(fieldWriter); } else { - return search::docsummary::DocsumFieldWriterFactory::create_docsum_field_writer(fieldName, overrideName, argument, rc); + return search::docsummary::DocsumFieldWriterFactory::create_docsum_field_writer(field_name, command, source); } return fieldWriter; } diff --git a/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.h b/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.h index c06cb0454b3..17c270292e2 100644 --- a/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.h +++ b/streamingvisitors/src/vespa/vsm/vsm/docsum_field_writer_factory.h @@ -19,7 +19,9 @@ public: DocsumFieldWriterFactory(bool use_v8_geo_positions, const search::docsummary::IDocsumEnvironment& env, const vespa::config::search::vsm::VsmfieldsConfig& vsm_fields_config); ~DocsumFieldWriterFactory() override; std::unique_ptr<search::docsummary::DocsumFieldWriter> - create_docsum_field_writer(const vespalib::string& fieldName, const vespalib::string& overrideName, const vespalib::string& argument, bool& rc) override; + create_docsum_field_writer(const vespalib::string& field_name, + const vespalib::string& command, + const vespalib::string& source) override; }; } |