aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@online.no>2024-05-29 14:14:54 +0200
committerTor Egge <Tor.Egge@online.no>2024-05-29 14:14:54 +0200
commit6576f786ddeafd398a0064b1eb1fffb00dd3339d (patch)
tree7fc5430d077c9f48763fd3422a860effed97281b
parentd495abf7a078c1109b9be7bae12fe2b225fa9327 (diff)
Pass docid to rescorers.
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/first_phase_rescorer.h3
-rw-r--r--searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp6
2 files changed, 5 insertions, 4 deletions
diff --git a/searchlib/src/vespa/searchlib/queryeval/first_phase_rescorer.h b/searchlib/src/vespa/searchlib/queryeval/first_phase_rescorer.h
index 4d3fe40a4dc..301e2aa78d0 100644
--- a/searchlib/src/vespa/searchlib/queryeval/first_phase_rescorer.h
+++ b/searchlib/src/vespa/searchlib/queryeval/first_phase_rescorer.h
@@ -3,6 +3,7 @@
#pragma once
#include "scores.h"
+#include <cstdint>
namespace search::queryeval {
@@ -16,7 +17,7 @@ class FirstPhaseRescorer {
public:
FirstPhaseRescorer(const std::pair<Scores,Scores>& ranges);
static bool need_rescore(const std::pair<Scores,Scores>& ranges);
- double rescore(double score) const noexcept {
+ double rescore(uint32_t, double score) const noexcept {
return ((score * _scale) - _adjust);
}
};
diff --git a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp
index ad6c1342900..3154f95bbe1 100644
--- a/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp
+++ b/searchlib/src/vespa/searchlib/queryeval/hitcollector.cpp
@@ -189,7 +189,7 @@ namespace {
struct NoRescorer
{
- static double rescore(double score) noexcept { return score; }
+ static double rescore(uint32_t, double score) noexcept { return score; }
};
template <typename Rescorer>
@@ -197,7 +197,7 @@ void
add_rescored_hits(ResultSet& rs, const std::vector<HitCollector::Hit>& hits, Rescorer rescorer)
{
for (auto& hit : hits) {
- rs.push_back({hit.first, rescorer.rescore(hit.second)});
+ rs.push_back({hit.first, rescorer.rescore(hit.first, hit.second)});
}
}
@@ -209,7 +209,7 @@ mixin_rescored_hits(ResultSet& rs, const std::vector<HitCollector::Hit>& hits, c
auto hits_end = hits.end();
for (auto docid : docids) {
if (hits_cur != hits_end && docid == hits_cur->first) {
- rs.push_back({docid, rescorer.rescore(hits_cur->second)});
+ rs.push_back({docid, rescorer.rescore(docid, hits_cur->second)});
++hits_cur;
} else {
rs.push_back({docid, default_value});