diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-04-17 09:33:53 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-06-22 12:47:00 +0000 |
commit | b56785323aaf66f1db473db130c2126ffdd76b9b (patch) | |
tree | 5b10903d9d500e2fe37cdfd8a5e078b4928c2753 /searchlib/src/tests/features | |
parent | f323d7eadd378266f2523cf0771aa00abbcd8b0a (diff) |
Add a rank feature that will use the distribution key to provide a globally unique number.
unique = (docId << 16 | distributionKey)
Diffstat (limited to 'searchlib/src/tests/features')
-rw-r--r-- | searchlib/src/tests/features/prod_features.cpp | 22 | ||||
-rw-r--r-- | searchlib/src/tests/features/prod_features.h | 1 |
2 files changed, 23 insertions, 0 deletions
diff --git a/searchlib/src/tests/features/prod_features.cpp b/searchlib/src/tests/features/prod_features.cpp index 3f71c9f85ea..d28c162bacc 100644 --- a/searchlib/src/tests/features/prod_features.cpp +++ b/searchlib/src/tests/features/prod_features.cpp @@ -34,6 +34,7 @@ #include <vespa/searchlib/features/setup.h> #include <vespa/searchlib/features/termfeature.h> #include <vespa/searchlib/features/utils.h> +#include <vespa/searchlib/features/uniquefeature.h> #include <vespa/searchlib/features/weighted_set_parser.hpp> #include <vespa/searchlib/fef/featurenamebuilder.h> #include <vespa/searchlib/fef/indexproperties.h> @@ -112,6 +113,7 @@ Test::Main() TEST_DO(testTerm()); TEST_FLUSH(); TEST_DO(testTermDistance()); TEST_FLUSH(); TEST_DO(testUtils()); TEST_FLUSH(); + TEST_DO(testUnique()); TEST_FLUSH(); TEST_DONE(); return 0; @@ -1564,6 +1566,26 @@ Test::testMatchCount() } void +Test::testUnique() +{ + { + UniqueBlueprint bp; + EXPECT_TRUE(assertCreateInstance(bp, "unique")); + FtFeatureTest ft(_factory, ""); + StringList params, in, out; + FT_SETUP_OK(bp, ft.getIndexEnv(), params, in, out.add("out")); + FT_DUMP_EMPTY(_factory, "unique"); + + EXPECT_TRUE(assertMatches(0, "x", "a", "matches(foo)")); + } + FtFeatureTest ft(_factory, "unique"); + ASSERT_TRUE(ft.setup()); + EXPECT_TRUE(ft.execute(0x10003,0, 1)); + EXPECT_TRUE(ft.execute(0x70003,0, 7)); + +} + +void Test::testMatches() { { // Test blueprint. diff --git a/searchlib/src/tests/features/prod_features.h b/searchlib/src/tests/features/prod_features.h index 6d30dd3fcd8..7f444e8ff60 100644 --- a/searchlib/src/tests/features/prod_features.h +++ b/searchlib/src/tests/features/prod_features.h @@ -39,6 +39,7 @@ public: void testRankingExpression(); void testTerm(); void testTermDistance(); + void testUnique(); static void testUtils(); static void setupForDotProductTest(FtFeatureTest & ft); |