aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-09-25 18:15:00 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-09-25 18:15:00 +0000
commit5b06b3c291cc6fe7d9a1efcfde75a7ae9d15f089 (patch)
treed3848754b0c661afcd945e657055d5fabf82546b /searchlib
parente1153b7aa8284d12e721eca524da9fc6c2911f24 (diff)
Ensure children are sorted by falling tree size.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/attribute/document_weight_or_filter_search.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/searchlib/src/vespa/searchlib/attribute/document_weight_or_filter_search.cpp b/searchlib/src/vespa/searchlib/attribute/document_weight_or_filter_search.cpp
index 413f4947dbe..c1e7dc39169 100644
--- a/searchlib/src/vespa/searchlib/attribute/document_weight_or_filter_search.cpp
+++ b/searchlib/src/vespa/searchlib/attribute/document_weight_or_filter_search.cpp
@@ -75,6 +75,8 @@ DocumentWeightOrFilterSearch::create(std::vector<DocumentWeightIterator>&& child
if (children.empty()) {
return std::make_unique<queryeval::EmptySearch>();
} else {
+ std::sort(children.begin(), children.end(),
+ [](const auto & a, const auto & b) { return a.size() > b.size(); });
return std::make_unique<DocumentWeightOrFilterSearchImpl>(AttributeIteratorPack(std::move(children)));
}
}