aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
diff options
context:
space:
mode:
authorArne Juul <arnej@verizonmedia.com>2020-03-17 14:24:27 +0000
committerArne Juul <arnej@verizonmedia.com>2020-03-19 07:40:18 +0000
commitf4f1b03381267590b6769c4ac1cee39839c8166d (patch)
tree11d7c5510c192f9da8b5b805273872d8ddf8798c /searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
parent750cbeb19241bcfcb9237f431b9d6686a68dd41f (diff)
change NNS rawscore so it is a closeness not a distance
Diffstat (limited to 'searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp')
-rw-r--r--searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp20
1 files changed, 14 insertions, 6 deletions
diff --git a/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp b/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
index ee8d4b787bd..bb24593f6cf 100644
--- a/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
+++ b/searchlib/src/tests/queryeval/nearest_neighbor/nearest_neighbor_test.cpp
@@ -17,6 +17,8 @@
#include <vespa/log/log.h>
LOG_SETUP("nearest_neighbor_test");
+#define EPS 1.0e-6
+
using search::feature_t;
using search::tensor::DenseTensorAttribute;
using search::AttributeVector;
@@ -179,9 +181,15 @@ verify_iterator_sets_expected_rawscore(const vespalib::string& attribute_tensor_
auto nullTensor = createTensor(query_tensor_type_spec, 0.0, 0.0);
std::vector<feature_t> got = get_rawscores<true>(fixture, *nullTensor);
std::vector<feature_t> expected{5.0, 13.0, 10.0, 10.0, 5.0};
- EXPECT_EQUAL(got, expected);
+ EXPECT_EQUAL(got.size(), expected.size());
+ for (size_t i = 0; i < expected.size(); ++i) {
+ EXPECT_APPROX(1.0/(1.0+expected[i]), got[i], EPS);
+ }
got = get_rawscores<false>(fixture, *nullTensor);
- EXPECT_EQUAL(got, expected);
+ EXPECT_EQUAL(got.size(), expected.size());
+ for (size_t i = 0; i < expected.size(); ++i) {
+ EXPECT_APPROX(1.0/(1.0+expected[i]), got[i], EPS);
+ }
}
TEST("require that NearestNeighborIterator sets expected rawscore") {
@@ -208,7 +216,7 @@ TEST("require that NnsIndexIterator works as expected") {
EXPECT_FALSE(search->isAtEnd());
EXPECT_EQUAL(docid, search->getDocId());
search->unpack(docid);
- EXPECT_EQUAL(2.0, tfmd.getRawScore());
+ EXPECT_APPROX(1.0/(1.0+2.0), tfmd.getRawScore(), EPS);
docid = 3;
match = search->seek(docid);
@@ -216,7 +224,7 @@ TEST("require that NnsIndexIterator works as expected") {
EXPECT_FALSE(search->isAtEnd());
EXPECT_EQUAL(docid, search->getDocId());
search->unpack(docid);
- EXPECT_EQUAL(3.0, tfmd.getRawScore());
+ EXPECT_APPROX(1.0/(1.0+3.0), tfmd.getRawScore(), EPS);
docid = 4;
match = search->seek(docid);
@@ -231,7 +239,7 @@ TEST("require that NnsIndexIterator works as expected") {
EXPECT_EQUAL(8u, search->getDocId());
docid = 8;
search->unpack(docid);
- EXPECT_EQUAL(4.0, tfmd.getRawScore());
+ EXPECT_APPROX(1.0/(1.0+4.0), tfmd.getRawScore(), EPS);
docid = 9;
match = search->seek(docid);
EXPECT_TRUE(match);
@@ -249,7 +257,7 @@ TEST("require that NnsIndexIterator works as expected") {
EXPECT_EQUAL(5u, search->getDocId());
docid = 5;
search->unpack(docid);
- EXPECT_EQUAL(1.0, tfmd.getRawScore());
+ EXPECT_APPROX(1.0/(1.0+1.0), tfmd.getRawScore(), EPS);
EXPECT_FALSE(search->isAtEnd());
docid = 6;
match = search->seek(docid);