aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-02-11 12:42:34 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2024-02-11 12:42:34 +0000
commitcf4a61fcc137ff1c9ee3137147259db29e32a60b (patch)
treebd03ee74188ef761b401353c605a8c62a5c916fc
parentbdd51aec6d90d1d46c652e5a6ddef62bae7c2444 (diff)
Compute actual value up front.
-rw-r--r--streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp5
1 files 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<const StorageDocument&>(vsm_doc);
+ const auto& doc = dynamic_cast<const StorageDocument&>(vsm_doc);
matcher.find_matching_elements(doc, lid, *result);
_query.reset();
}