aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-09-28 21:21:20 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-09-28 21:21:20 +0000
commit6ea63dc9d860dc06afa1f25f1240ded09a71c322 (patch)
tree25f1192c2bd14207b6b2851962a3fcab99dbf263 /searchlib/src
parent5d1d0c5010bba73ddf2921b2b1330de97cf1057d (diff)
Lift out single iterators if either field is filter, or termfieldmatchdata is not needed.
Diffstat (limited to 'searchlib/src')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
index 94c560a0dae..ea9dc9b1948 100644
--- a/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/attribute_weighted_set_blueprint.cpp
@@ -158,7 +158,7 @@ AttributeWeightedSetBlueprint::createLeafSearch(const fef::TermFieldMatchDataArr
assert(getState().numFields() == 1);
fef::TermFieldMatchData &tfmd = *tfmda[0];
bool field_is_filter = getState().fields()[0].isFilter();
- if (field_is_filter && (_contexts.size() == 1)) {
+ if ((tfmd.isNotNeeded() || field_is_filter) && (_contexts.size() == 1)) {
return _contexts[0]->createIterator(&tfmd, strict);
}
if (strict) { // use generic weighted set search