diff options
author | Henning Baldersheim <balder@oath.com> | 2018-07-26 16:31:02 +0200 |
---|---|---|
committer | Henning Baldersheim <balder@oath.com> | 2018-07-26 16:31:02 +0200 |
commit | be2daa8789f524f8717063160c3aedd5a831c9b2 (patch) | |
tree | 9a86b8f72c8844c92b2508713befa2722822d1db /searchlib | |
parent | 6d046574404925ba0664e193e99718c9a1aba3d4 (diff) |
Simplify since reRank i snot incremental.
Diffstat (limited to 'searchlib')
-rw-r--r-- | searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp index f07447de7cf..e0385af99bc 100644 --- a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp +++ b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp @@ -220,23 +220,19 @@ HitCollector::reRank(DocumentScorer &scorer, size_t count) size_t HitCollector::reRank(DocumentScorer &scorer, std::vector<Hit> hits) { size_t hitsToReRank = hits.size(); - if (_reRankedHits.empty()) { - _reRankedHits = std::move(hits); - } else { - _reRankedHits.insert(_reRankedHits.end(), hits.begin(), hits.end()); - } Scores &initScores = _ranges.first; Scores &finalScores = _ranges.second; - initScores = Scores(_reRankedHits.back().second, _reRankedHits.front().second); + initScores = Scores(hits.back().second, hits.front().second); finalScores = Scores(std::numeric_limits<feature_t>::max(), -std::numeric_limits<feature_t>::max()); - std::sort(_reRankedHits.begin(), _reRankedHits.end()); // sort on docId - for (auto &hit : _reRankedHits) { + std::sort(hits.begin(), hits.end()); // sort on docId + for (auto &hit : hits) { hit.second = scorer.score(hit.first); finalScores.low = std::min(finalScores.low, hit.second); finalScores.high = std::max(finalScores.high, hit.second); } + _reRankedHits = std::move(hits); _hasReRanked = true; return hitsToReRank; } |