diff options
Diffstat (limited to 'streamingvisitors')
-rw-r--r-- | streamingvisitors/src/vespa/searchvisitor/matching_elements_filler.cpp | 5 |
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(); } |