aboutsummaryrefslogtreecommitdiffstats
path: root/vsm
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2020-05-20 13:10:09 +0000
committerGeir Storli <geirst@verizonmedia.com>2020-05-20 13:10:09 +0000
commit47e95a1a3506525c832517a4f8b0e925c9f12c02 (patch)
tree669e929e6f21741c880e95a131409c26241dbe19 /vsm
parenteb1e9294ad2c207f7c9b465f42d2b3de72fd336e (diff)
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.
Diffstat (limited to 'vsm')
-rw-r--r--vsm/src/vespa/vsm/vsm/docsumconfig.cpp16
-rw-r--r--vsm/src/vespa/vsm/vsm/docsumconfig.h2
-rw-r--r--vsm/src/vespa/vsm/vsm/i_matching_elements_filler.h4
-rw-r--r--vsm/src/vespa/vsm/vsm/vsm-adapter.cpp4
-rw-r--r--vsm/src/vespa/vsm/vsm/vsm-adapter.h2
5 files changed, 14 insertions, 14 deletions
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 <vespa/vsm/vsm/docsumconfig.h>
#include <vespa/searchsummary/docsummary/docsumfieldwriter.h>
#include <vespa/searchsummary/docsummary/matched_elements_filter_dfw.h>
-#include <vespa/searchlib/common/struct_field_mapper.h>
+#include <vespa/searchlib/common/matching_elements_fields.h>
#include <vespa/vsm/config/config-vsmfields.h>
#include <vespa/vsm/config/config-vsmsummary.h>
-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<search::StructFieldMapper> struct_field_mapper)
+DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & overrideName, const string & argument, bool & rc, std::shared_ptr<search::MatchingElementsFields> 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<bool>(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<search::docsummary::IDocsumFieldWriter>
createFieldWriter(const string & fieldName, const string & overrideName,
- const string & cf, bool & rc, std::shared_ptr<search::StructFieldMapper> struct_field_mapper) override;
+ const string & cf, bool & rc, std::shared_ptr<search::MatchingElementsFields> 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<search::MatchingElements> fill_matching_elements(const search::StructFieldMapper& struct_field_mapper) = 0;
+ virtual std::unique_ptr<search::MatchingElements> 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<MatchingElements>
-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<MatchingElements>();
}
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<search::MatchingElements> fill_matching_elements(const search::StructFieldMapper& struct_field_mapper) override;
+ virtual std::unique_ptr<search::MatchingElements> 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<IMatchingElementsFiller> matching_elements_filler);