diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-27 20:44:03 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-01-27 20:44:03 +0100 |
commit | 974703293553aa02220879531c9ee2b5ec43edb0 (patch) | |
tree | 3c754636045caf1d15c06f45d10b14a0a398357a /container-search/src/test/java | |
parent | c0e6e3bbe428ca0eedaae9da7b0bc1cba5302190 (diff) | |
parent | 69ca57e0cbf0bd6f6f58e9477ac240c0bc5e3533 (diff) |
Merge pull request #25774 from vespa-engine/bratseth/keep-synthetic-fields
Keep synthetic fields
Diffstat (limited to 'container-search/src/test/java')
-rw-r--r-- | container-search/src/test/java/com/yahoo/search/yql/FieldFilterTestCase.java | 38 |
1 files changed, 22 insertions, 16 deletions
diff --git a/container-search/src/test/java/com/yahoo/search/yql/FieldFilterTestCase.java b/container-search/src/test/java/com/yahoo/search/yql/FieldFilterTestCase.java index 3d4f52472a8..8b5892903de 100644 --- a/container-search/src/test/java/com/yahoo/search/yql/FieldFilterTestCase.java +++ b/container-search/src/test/java/com/yahoo/search/yql/FieldFilterTestCase.java @@ -15,6 +15,8 @@ import com.yahoo.search.result.Hit; import com.yahoo.search.searchchain.Execution; import com.yahoo.search.searchchain.testutil.DocumentSourceSearcher; +import java.util.Set; + /** * Smoketest that we remove fields in a sane manner. * @@ -25,6 +27,7 @@ public class FieldFilterTestCase { private static final String FIELD_C = "c"; private static final String FIELD_B = "b"; private static final String FIELD_A = "a"; + private static final Set<String> syntheticFields = Set.of("matchfeatures", "rankfeatures", "summaryfeatures"); private Chain<Searcher> searchChain; private Execution.Context context; private Execution execution; @@ -34,8 +37,8 @@ public class FieldFilterTestCase { Query query = new Query("?query=test"); Result result = new Result(query); - Hit hit = createHit("lastHit", .1d, FIELD_A, FIELD_B, FIELD_C); - result.hits().add(hit); + result.hits().add(createHit("hit1", .1d, false, FIELD_A, FIELD_B, FIELD_C)); + result.hits().add(createHit("hit2", .1d, true, FIELD_A, FIELD_B, FIELD_C)); DocumentSourceSearcher mockBackend = new DocumentSourceSearcher(); mockBackend.addResult(query, result); @@ -46,12 +49,15 @@ public class FieldFilterTestCase { } - private Hit createHit(String id, double relevancy, String... fieldNames) { + private Hit createHit(String id, double relevancy, boolean addSyntheticFields, String... fieldNames) { Hit h = new Hit(id, relevancy); h.setFillable(); int i = 0; - for (String field : fieldNames) { + for (String field : fieldNames) h.setField(field, ++i); + if (addSyntheticFields) { + for (String field : syntheticFields) + h.setField(field, ++i); } return h; } @@ -64,25 +70,25 @@ public class FieldFilterTestCase { } @Test - final void testBasic() { - final Query query = new Query("?query=test&presentation.summaryFields=" + FIELD_B); + void testBasic() { + Query query = new Query("?query=test&presentation.summaryFields=" + FIELD_B); Result result = execution.search(query); execution.fill(result); - assertEquals(1, result.getConcreteHitCount()); - assertFalse(result.hits().get(0).fieldKeys().contains(FIELD_A)); - assertTrue(result.hits().get(0).fieldKeys().contains(FIELD_B)); - assertFalse(result.hits().get(0).fieldKeys().contains(FIELD_C)); + assertEquals(2, result.getConcreteHitCount()); + assertEquals(Set.of(FIELD_B), result.hits().get(0).fieldKeys()); + assertEquals(Set.of(FIELD_B, "matchfeatures", "rankfeatures", "summaryfeatures"), + result.hits().get(1).fieldKeys()); } @Test - final void testNoFiltering() { - final Query query = new Query("?query=test"); + void testNoFiltering() { + Query query = new Query("?query=test"); Result result = execution.search(query); execution.fill(result); - assertEquals(1, result.getConcreteHitCount()); - assertTrue(result.hits().get(0).fieldKeys().contains(FIELD_A)); - assertTrue(result.hits().get(0).fieldKeys().contains(FIELD_B)); - assertTrue(result.hits().get(0).fieldKeys().contains(FIELD_C)); + assertEquals(2, result.getConcreteHitCount()); + assertEquals(Set.of(FIELD_A, FIELD_B, FIELD_C), result.hits().get(0).fieldKeys()); + assertEquals(Set.of(FIELD_A, FIELD_B, FIELD_C, "matchfeatures", "rankfeatures", "summaryfeatures"), + result.hits().get(1).fieldKeys()); } } |