diff options
author | Tor Egge <Tor.Egge@online.no> | 2022-06-28 11:43:44 +0200 |
---|---|---|
committer | Tor Egge <Tor.Egge@online.no> | 2022-06-28 11:43:44 +0200 |
commit | ac9a72aaaf233e5c20dc83fc26be100bdff509aa (patch) | |
tree | 8cb49bdd66bc532135914c58e5e0a697922f872f /searchsummary | |
parent | cf00f816fa51db822281e329b18de550807fe326 (diff) |
Use attribute combiner argument when present.
Diffstat (limited to 'searchsummary')
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp index 9e05acb5935..24642c418fd 100644 --- a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp +++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp @@ -87,11 +87,12 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & } else if (overrideName == "attributecombiner") { if (getEnvironment() && getEnvironment()->getAttributeManager()) { auto attr_ctx = getEnvironment()->getAttributeManager()->createContext(); - fieldWriter = AttributeCombinerDFW::create(fieldName, *attr_ctx, false, std::shared_ptr<MatchingElementsFields>()); + const string& source_field = argument.empty() ? fieldName : argument; + fieldWriter = AttributeCombinerDFW::create(source_field, *attr_ctx, false, std::shared_ptr<MatchingElementsFields>()); rc = static_cast<bool>(fieldWriter); } } else if (overrideName == "matchedattributeelementsfilter") { - string source_field = argument.empty() ? fieldName : argument; + const string& source_field = argument.empty() ? fieldName : argument; if (getEnvironment() && getEnvironment()->getAttributeManager()) { auto attr_ctx = getEnvironment()->getAttributeManager()->createContext(); if (attr_ctx->getAttribute(source_field) != nullptr) { @@ -102,7 +103,7 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string & rc = static_cast<bool>(fieldWriter); } } else if (overrideName == "matchedelementsfilter") { - string source_field = argument.empty() ? fieldName : argument; + const string& source_field = argument.empty() ? fieldName : argument; if (getEnvironment() && getEnvironment()->getAttributeManager()) { auto attr_ctx = getEnvironment()->getAttributeManager()->createContext(); fieldWriter = MatchedElementsFilterDFW::create(source_field, resultConfig.GetFieldNameEnum().Lookup(source_field.c_str()), |