summaryrefslogtreecommitdiffstats
path: root/searchsummary
diff options
context:
space:
mode:
Diffstat (limited to 'searchsummary')
-rw-r--r--searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp
index f41ada8b2e8..1a269e556d6 100644
--- a/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp
+++ b/searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp
@@ -102,7 +102,11 @@ DynamicDocsumConfig::createFieldWriter(const string & fieldName, const string &
string source_field = argument.empty() ? fieldName : argument;
if (getEnvironment() && getEnvironment()->getAttributeManager()) {
auto attr_ctx = getEnvironment()->getAttributeManager()->createContext();
- fieldWriter = AttributeCombinerDFW::create(source_field, *attr_ctx, true, matching_elems_fields);
+ if (attr_ctx->getAttribute(source_field) != nullptr) {
+ fieldWriter = AttributeDFWFactory::create(*getEnvironment()->getAttributeManager(), source_field, true, matching_elems_fields);
+ } else {
+ fieldWriter = AttributeCombinerDFW::create(source_field, *attr_ctx, true, matching_elems_fields);
+ }
rc = static_cast<bool>(fieldWriter);
}
} else if (overrideName == "matchedelementsfilter") {