diff options
author | Arne Juul <arnej@vespa.ai> | 2023-10-20 12:32:55 +0000 |
---|---|---|
committer | Arne Juul <arnej@vespa.ai> | 2023-10-20 12:33:45 +0000 |
commit | c86ed3ef3c2df8f1bed920fed10f19ca00fab6e5 (patch) | |
tree | f12b341de616ea082356e2909233f68b7a892ece /container-search/src/test/java/com/yahoo/search | |
parent | af81fc01b399b782856e12d0659cafffb36435be (diff) |
extend unit test with various normalizers
Diffstat (limited to 'container-search/src/test/java/com/yahoo/search')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseSetupTest.java | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseSetupTest.java b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseSetupTest.java index 7f4dfc4c9a7..082531a97dd 100644 --- a/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseSetupTest.java +++ b/container-search/src/test/java/com/yahoo/search/ranking/GlobalPhaseSetupTest.java @@ -53,6 +53,67 @@ public class GlobalPhaseSetupTest { assertEquals(Tensor.from("tensor(v[3]):[2,0.25,1.5]"), setup.defaultValues.get("query(v_has_def)")); } + @Test void withNormalizers() { + RankProfilesConfig rpCfg = readConfig("with_normalizers"); + assertEquals(1, rpCfg.rankprofile().size()); + RankProfilesEvaluator rpEvaluator = createEvaluator(rpCfg); + var setup = GlobalPhaseSetup.maybeMakeSetup(rpCfg.rankprofile().get(0), rpEvaluator); + assertNotNull(setup); + var nList = setup.normalizers; + assertEquals(7, nList.size()); + nList.sort((a,b) -> a.name().compareTo(b.name())); + + var n = nList.get(0); + assertEquals("normalize@2974853441@linear", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("funmf", n.inputEvalSpec().fromMF().get(0)); + assertEquals("linear", n.supplier().get().normalizing()); + + n = nList.get(1); + assertEquals("normalize@3414032797@rrank", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("attribute(year)", n.inputEvalSpec().fromMF().get(0)); + assertEquals("reciprocal-rank{k:60.0}", n.supplier().get().normalizing()); + + n = nList.get(2); + assertEquals("normalize@3551296680@linear", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("nativeRank", n.inputEvalSpec().fromMF().get(0)); + assertEquals("linear", n.supplier().get().normalizing()); + + n = nList.get(3); + assertEquals("normalize@4280591309@rrank", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("bm25(myabstract)", n.inputEvalSpec().fromMF().get(0)); + assertEquals("reciprocal-rank{k:42.0}", n.supplier().get().normalizing()); + + n = nList.get(4); + assertEquals("normalize@4370385022@linear", n.name()); + assertEquals(1, n.inputEvalSpec().fromQuery().size()); + assertEquals("myweight", n.inputEvalSpec().fromQuery().get(0)); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("attribute(foo1)", n.inputEvalSpec().fromMF().get(0)); + assertEquals("linear", n.supplier().get().normalizing()); + + n = nList.get(5); + assertEquals("normalize@4640646880@linear", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("attribute(foo1)", n.inputEvalSpec().fromMF().get(0)); + assertEquals("linear", n.supplier().get().normalizing()); + + n = nList.get(6); + assertEquals("normalize@6283155534@linear", n.name()); + assertEquals(0, n.inputEvalSpec().fromQuery().size()); + assertEquals(1, n.inputEvalSpec().fromMF().size()); + assertEquals("bm25(mytitle)", n.inputEvalSpec().fromMF().get(0)); + assertEquals("linear", n.supplier().get().normalizing()); + } + private RankProfilesEvaluator createEvaluator(RankProfilesConfig config) { RankingConstantsConfig constantsConfig = new RankingConstantsConfig.Builder().build(); RankingExpressionsConfig expressionsConfig = new RankingExpressionsConfig.Builder().build(); |