From cf4a61fcc137ff1c9ee3137147259db29e32a60b Mon Sep 17 00:00:00 2001 From: Henning Baldersheim Date: Sun, 11 Feb 2024 12:42:34 +0000 Subject: Compute actual value up front. --- .../src/vespa/searchvisitor/matching_elements_filler.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp b/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp index 79bacda3f3b..35a3f1966b6 100644 --- a/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp +++ b/streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp @@ -178,12 +178,13 @@ MatchingElementsFiller::fill_matching_elements(const MatchingElementsFields& fie return result; } // Scan documents that will be returned as hits - for (size_t i(0), m(_search_result.getHitCount()); (i < m) && (i < _search_result.getWantedHitCount()); i++ ) { + size_t count = std::min(_search_result.getHitCount(), _search_result.getWantedHitCount()); + for (size_t i(0); i < count; i++ ) { const char* doc_id(nullptr); SearchResult::RankType rank(0); uint32_t lid = _search_result.getHit(i, doc_id, rank); const vsm::Document& vsm_doc = _hit_collector.getDocSum(lid); - const StorageDocument& doc = dynamic_cast(vsm_doc); + const auto& doc = dynamic_cast(vsm_doc); matcher.find_matching_elements(doc, lid, *result); _query.reset(); } -- cgit v1.2.3