use of com.yahoo.search.Result in project vespa by vespa-engine.
the class GroupingRequestTestCase method requireThatParallelRequestsAreSupported.
@Test
public void requireThatParallelRequestsAreSupported() {
Query query = new Query();
Result res = new Result(query);
GroupingRequest reqA = GroupingRequest.newInstance(query);
RootGroup grpA = newRootGroup(0);
reqA.setResultGroup(grpA);
res.hits().add(grpA);
GroupingRequest reqB = GroupingRequest.newInstance(query);
RootGroup grpB = newRootGroup(1);
reqB.setResultGroup(grpB);
res.hits().add(grpB);
Group grp = reqA.getResultGroup(res);
assertNotNull(grp);
assertSame(grpA, grp);
assertNotNull(grp = reqB.getResultGroup(res));
assertSame(grpB, grp);
}
use of com.yahoo.search.Result in project vespa by vespa-engine.
the class UniqueGroupingSearcherTestCase method testSkipGroupingBasedDedup.
@Test
public void testSkipGroupingBasedDedup() throws Exception {
Result result = search("?query=foo", new MockResultProvider(0, false));
assertEquals(0, result.hits().size());
}
use of com.yahoo.search.Result in project vespa by vespa-engine.
the class UniqueGroupingSearcherTestCase method testGroupingBasedDedupWithEmptyGroupingHitsList.
@Test
public void testGroupingBasedDedupWithEmptyGroupingHitsList() throws Exception {
Result result = search("?query=foo&unique=fingerprint", new MockResultProvider(0, true).addGroupList(new GroupList("fingerprint")));
assertEquals(0, result.hits().size());
assertEquals(0, result.getTotalHitCount());
}
use of com.yahoo.search.Result in project vespa by vespa-engine.
the class UniqueGroupingSearcherTestCase method testGroupingBasedDedupWithGroupingHits.
@Test
public void testGroupingBasedDedupWithGroupingHits() throws Exception {
GroupList fingerprint = new GroupList("fingerprint");
fingerprint.add(makeHitGroup("1"));
fingerprint.add(makeHitGroup("2"));
fingerprint.add(makeHitGroup("3"));
fingerprint.add(makeHitGroup("4"));
fingerprint.add(makeHitGroup("5"));
fingerprint.add(makeHitGroup("6"));
fingerprint.add(makeHitGroup("7"));
MockResultProvider mockResultProvider = new MockResultProvider(15, true);
mockResultProvider.addGroupList(fingerprint);
mockResultProvider.resultGroup.setField(UniqueGroupingSearcher.LABEL_COUNT, 42l);
Result result = search("?query=foo&unique=fingerprint&hits=5&offset=1", mockResultProvider);
assertEquals(5, result.hits().size());
assertEquals("2", result.hits().get(0).getId().toString());
assertEquals("3", result.hits().get(1).getId().toString());
assertEquals("4", result.hits().get(2).getId().toString());
assertEquals("5", result.hits().get(3).getId().toString());
assertEquals("6", result.hits().get(4).getId().toString());
assertEquals(42, result.getTotalHitCount());
}
use of com.yahoo.search.Result in project vespa by vespa-engine.
the class UniqueGroupingSearcherTestCase method testGroupingBasedDedupWithGroupingHitsAndSorting.
@Test
public void testGroupingBasedDedupWithGroupingHitsAndSorting() throws Exception {
GroupList fingerprint = new GroupList("fingerprint");
fingerprint.add(makeSortingHitGroup("1"));
fingerprint.add(makeSortingHitGroup("2"));
fingerprint.add(makeSortingHitGroup("3"));
fingerprint.add(makeSortingHitGroup("4"));
fingerprint.add(makeSortingHitGroup("5"));
fingerprint.add(makeSortingHitGroup("6"));
fingerprint.add(makeSortingHitGroup("7"));
MockResultProvider mockResultProvider = new MockResultProvider(100, true);
mockResultProvider.addGroupList(fingerprint);
mockResultProvider.resultGroup.setField(UniqueGroupingSearcher.LABEL_COUNT, 1337l);
Result result = search("?query=foo&unique=fingerprint&hits=5&offset=1&sorting=-expdate", mockResultProvider);
assertEquals(5, result.hits().size());
assertEquals("2", result.hits().get(0).getId().toString());
assertEquals("3", result.hits().get(1).getId().toString());
assertEquals("4", result.hits().get(2).getId().toString());
assertEquals("5", result.hits().get(3).getId().toString());
assertEquals("6", result.hits().get(4).getId().toString());
assertEquals(1337, result.getTotalHitCount());
}
Aggregations