summaryrefslogtreecommitdiffstats
path: root/searchcore
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-11-07 15:50:18 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2023-11-07 15:50:18 +0000
commite8baf5b19277cd46ff36ea3a8823f598f53954ef (patch)
treeb89d49c8935e8994b67fb4e54aa1fd77e8b94b8d /searchcore
parenta0b7e84730b785c2380296783538ffa1767d2ed3 (diff)
Only offer filter for insertion further down if it is a prefilter
Diffstat (limited to 'searchcore')
-rw-r--r--searchcore/src/vespa/searchcore/proton/matching/match_phase_limiter.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/searchcore/src/vespa/searchcore/proton/matching/match_phase_limiter.cpp b/searchcore/src/vespa/searchcore/proton/matching/match_phase_limiter.cpp
index 908843ca3ca..b64d5ba4c05 100644
--- a/searchcore/src/vespa/searchcore/proton/matching/match_phase_limiter.cpp
+++ b/searchcore/src/vespa/searchcore/proton/matching/match_phase_limiter.cpp
@@ -92,7 +92,9 @@ do_limit(AttributeLimiter &limiter_factory, SearchIterator::UP search, double ma
uint32_t current_id, uint32_t end_id)
{
SearchIterator::UP limiter = limiter_factory.create_search(wanted_num_docs, max_group_size, match_freq, PRE_FILTER);
- limiter = search->andWith(std::move(limiter), wanted_num_docs);
+ if (PRE_FILTER) {
+ limiter = search->andWith(std::move(limiter), wanted_num_docs);
+ }
if (limiter) {
search = std::make_unique<LimitedSearchT<PRE_FILTER>>(std::move(limiter), std::move(search));
}