From 47e95a1a3506525c832517a4f8b0e925c9f12c02 Mon Sep 17 00:00:00 2001 From: Geir Storli Date: Wed, 20 May 2020 13:10:09 +0000 Subject: Prepare to support matched-elements-only for arrays and weighted sets of primitive types. This renames StructFieldMapper to MatchingElementsFields with added support for basic fields. Also some terminology is aligned. --- vsm/src/vespa/vsm/vsm/docsumconfig.cpp | 16 ++++++++-------- vsm/src/vespa/vsm/vsm/docsumconfig.h | 2 +- vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h | 4 ++-- vsm/src/vespa/vsm/vsm/vsm-adapter.cpp | 4 ++-- vsm/src/vespa/vsm/vsm/vsm-adapter.h | 2 +- 5 files changed, 14 insertions(+), 14 deletions(-) (limited to 'vsm/src') diff --git a/vsm/src/vespa/vsm/vsm/docsumconfig.cpp b/vsm/src/vespa/vsm/vsm/docsumconfig.cpp index 7402a45fa4a..2512bea26df 100644 --- a/vsm/src/vespa/vsm/vsm/docsumconfig.cpp +++ b/vsm/src/vespa/vsm/vsm/docsumconfig.cpp @@ -3,11 +3,11 @@ #include #include #include -#include +#include #include #include -using search::StructFieldMapper; +using search::MatchingElementsFields; using search::docsummary::IDocsumFieldWriter; using search::docsummary::EmptyDFW; using search::docsummary::MatchedElementsFilterDFW; @@ -19,12 +19,12 @@ namespace vsm { namespace { -void populate_mapper(StructFieldMapper& mapper, VsmfieldsConfig& fields_config, const vespalib::string& field_name) +void populate_fields(MatchingElementsFields& fields, VsmfieldsConfig& fields_config, const vespalib::string& field_name) { vespalib::string prefix = field_name + "."; for (const auto& spec : fields_config.fieldspec) { if (spec.name.substr(0, prefix.size()) == prefix) { - mapper.add_mapping(field_name, spec.name); + fields.add_mapping(field_name, spec.name); } } } @@ -38,7 +38,7 @@ DynamicDocsumConfig::DynamicDocsumConfig(search::docsummary::IDocsumEnvironment* } IDocsumFieldWriter::UP -DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & overrideName, const string & argument, bool & rc, std::shared_ptr struct_field_mapper) +DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & overrideName, const string & argument, bool & rc, std::shared_ptr matching_elems_fields) { IDocsumFieldWriter::UP fieldWriter; if ((overrideName == "staticrank") || @@ -60,11 +60,11 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & string source_field = argument.empty() ? fieldName : argument; const ResultConfig& resultConfig = getResultConfig(); int source_field_enum = resultConfig.GetFieldNameEnum().Lookup(source_field.c_str()); - populate_mapper(*struct_field_mapper, *_vsm_fields_config, source_field); - fieldWriter = MatchedElementsFilterDFW::create(source_field, source_field_enum, struct_field_mapper); + populate_fields(*matching_elems_fields, *_vsm_fields_config, source_field); + fieldWriter = MatchedElementsFilterDFW::create(source_field, source_field_enum, matching_elems_fields); rc = static_cast(fieldWriter); } else { - fieldWriter = search::docsummary::DynamicDocsumConfig::createFieldWriter(fieldName, overrideName, argument, rc, struct_field_mapper); + fieldWriter = search::docsummary::DynamicDocsumConfig::createFieldWriter(fieldName, overrideName, argument, rc, matching_elems_fields); } return fieldWriter; } diff --git a/vsm/src/vespa/vsm/vsm/docsumconfig.h b/vsm/src/vespa/vsm/vsm/docsumconfig.h index 17128798ef2..8be9324b9d6 100644 --- a/vsm/src/vespa/vsm/vsm/docsumconfig.h +++ b/vsm/src/vespa/vsm/vsm/docsumconfig.h @@ -22,7 +22,7 @@ public: private: std::unique_ptr createFieldWriter(const string & fieldName, const string & overrideName, - const string & cf, bool & rc, std::shared_ptr struct_field_mapper) override; + const string & cf, bool & rc, std::shared_ptr matching_elems_fields) override; }; } diff --git a/vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h b/vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h index a30dcbf2a5b..45233818452 100644 --- a/vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h +++ b/vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h @@ -6,7 +6,7 @@ namespace search { class MatchingElements; -class StructFieldMapper; +class MatchingElementsFields; } namespace vsm { @@ -17,7 +17,7 @@ namespace vsm { */ class IMatchingElementsFiller { public: - virtual std::unique_ptr fill_matching_elements(const search::StructFieldMapper& struct_field_mapper) = 0; + virtual std::unique_ptr fill_matching_elements(const search::MatchingElementsFields& fields) = 0; virtual ~IMatchingElementsFiller() = default; }; diff --git a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp index dd7b36015e4..5d8c7735c0e 100644 --- a/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp +++ b/vsm/src/vespa/vsm/vsm/vsm-adapter.cpp @@ -50,10 +50,10 @@ void GetDocsumsStateCallback::FillDocumentLocations(GetDocsumsState *state, IDoc } std::unique_ptr -GetDocsumsStateCallback::fill_matching_elements(const search::StructFieldMapper& struct_field_mapper) +GetDocsumsStateCallback::fill_matching_elements(const search::MatchingElementsFields& fields) { if (_matching_elements_filler) { - return _matching_elements_filler->fill_matching_elements(struct_field_mapper); + return _matching_elements_filler->fill_matching_elements(fields); } return std::make_unique(); } diff --git a/vsm/src/vespa/vsm/vsm/vsm-adapter.h b/vsm/src/vespa/vsm/vsm/vsm-adapter.h index 96d12e23db6..cffae318586 100644 --- a/vsm/src/vespa/vsm/vsm/vsm-adapter.h +++ b/vsm/src/vespa/vsm/vsm/vsm-adapter.h @@ -42,7 +42,7 @@ public: void FillRankFeatures(GetDocsumsState * state, IDocsumEnvironment * env) override; void ParseLocation(GetDocsumsState * state) override; virtual void FillDocumentLocations(GetDocsumsState * state, IDocsumEnvironment * env); - virtual std::unique_ptr fill_matching_elements(const search::StructFieldMapper& struct_field_mapper) override; + virtual std::unique_ptr fill_matching_elements(const search::MatchingElementsFields& fields) override; void setSummaryFeatures(const search::FeatureSet::SP & sf) { _summaryFeatures = sf; } void setRankFeatures(const search::FeatureSet::SP & rf) { _rankFeatures = rf; } void set_matching_elements_filler(std::unique_ptr matching_elements_filler); -- cgit v1.2.3