aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-06-06 12:02:05 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2024-06-06 12:10:36 +0200
commitca233de10b749c17356c349fce23eb662372511e (patch)
tree4caba333a88e6eaa2e4586aff02c21fdf8d0eac1 /config-model/src/test/java/com/yahoo
parent874e916560bfb6829834b569d56ad55e6273cdd6 (diff)
Support Diversity at rank-profile level.
Diffstat (limited to 'config-model/src/test/java/com/yahoo')
-rw-r--r--config-model/src/test/java/com/yahoo/schema/DiversityTestCase.java100
1 files changed, 51 insertions, 49 deletions
diff --git a/config-model/src/test/java/com/yahoo/schema/DiversityTestCase.java b/config-model/src/test/java/com/yahoo/schema/DiversityTestCase.java
index df71e30c7d9..2c03bab8144 100644
--- a/config-model/src/test/java/com/yahoo/schema/DiversityTestCase.java
+++ b/config-model/src/test/java/com/yahoo/schema/DiversityTestCase.java
@@ -17,35 +17,37 @@ public class DiversityTestCase {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
ApplicationBuilder builder = new ApplicationBuilder(rankProfileRegistry);
builder.addSchema(
- "search test {\n" +
- " document test { \n" +
- " field a type int { \n" +
- " indexing: attribute \n" +
- " attribute: fast-search\n" +
- " }\n" +
- " field b type int {\n" +
- " indexing: attribute \n" +
- " }\n" +
- " }\n" +
- " \n" +
- " rank-profile parent {\n" +
- " match-phase {\n" +
- " diversity {\n" +
- " attribute: b\n" +
- " min-groups: 74\n" +
- " cutoff-factor: 17.3\n" +
- " cutoff-strategy: strict" +
- " }\n" +
- " attribute: a\n" +
- " max-hits: 120\n" +
- " max-filter-coverage: 0.065" +
- " }\n" +
- " }\n" +
- "}\n");
+ """
+ search test {
+ document test {
+ field a type int {
+ indexing: attribute
+ attribute: fast-search
+ }
+ field b type int {
+ indexing: attribute
+ }
+ }
+ rank-profile parent {
+ match-phase {
+ attribute: a
+ max-hits: 120
+ max-filter-coverage: 0.065
+ }
+ diversity {
+ attribute: b
+ min-groups: 74
+ cutoff-factor: 17.3
+ cutoff-strategy: strict
+ }
+ }
+ }
+ """);
builder.build(true);
Schema s = builder.getSchema();
- RankProfile.MatchPhaseSettings matchPhase = rankProfileRegistry.get(s, "parent").getMatchPhaseSettings();
- RankProfile.DiversitySettings diversity = matchPhase.getDiversity();
+ RankProfile parent = rankProfileRegistry.get(s, "parent");
+ RankProfile.MatchPhaseSettings matchPhase = parent.getMatchPhase();
+ RankProfile.DiversitySettings diversity = parent.getDiversity();
assertEquals("b", diversity.getAttribute());
assertEquals(74, diversity.getMinGroups());
assertEquals(17.3, diversity.getCutoffFactor(), 1e-16);
@@ -82,30 +84,30 @@ public class DiversityTestCase {
assertEquals(getMessagePrefix() + "must be single value numeric, or enumerated attribute, but it is 'Array<int>'", e.getMessage());
}
}
- private ApplicationBuilder getSearchBuilder(String diversity) throws ParseException {
+ private ApplicationBuilder getSearchBuilder(String diversityField) throws ParseException {
RankProfileRegistry rankProfileRegistry = new RankProfileRegistry();
ApplicationBuilder builder = new ApplicationBuilder(rankProfileRegistry);
- builder.addSchema(
- "search test {\n" +
- " document test { \n" +
- " field a type int { \n" +
- " indexing: attribute \n" +
- " attribute: fast-search\n" +
- " }\n" +
- diversity +
- " }\n" +
- " \n" +
- " rank-profile parent {\n" +
- " match-phase {\n" +
- " diversity {\n" +
- " attribute: b\n" +
- " min-groups: 74\n" +
- " }\n" +
- " attribute: a\n" +
- " max-hits: 120\n" +
- " }\n" +
- " }\n" +
- "}\n");
+ builder.addSchema("""
+ search test {
+ document test {
+ field a type int {
+ indexing: attribute
+ attribute: fast-search
+ }""" +
+ diversityField +
+ """
+ }
+ rank-profile parent {
+ match-phase {
+ diversity {
+ attribute: b
+ min-groups: 74
+ }
+ attribute: a
+ max-hits: 120
+ }
+ }
+ }""");
return builder;
}
}