diff options
author | Geir Storli <geirst@verizonmedia.com> | 2020-07-09 14:19:26 +0000 |
---|---|---|
committer | Geir Storli <geirst@verizonmedia.com> | 2020-07-09 14:19:26 +0000 |
commit | 9016fa2b7f0e42bbf4097f6678a607d28858b14b (patch) | |
tree | be98f737268a3ab0f46b0ea5cc2cdcd33ddfb4a7 /searchsummary | |
parent | 66fa206a9e95fc5a0888b3a2949d70a9ab46d430 (diff) |
Add support for matched-elements-only for array and weighted set attributes.
Diffstat (limited to 'searchsummary')
-rw-r--r-- | searchsummary/src/vespa/searchsummary/docsummary/docsumconfig.cpp | 6 |
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") { |