Search in sources :

Example 86 with Result

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);
}
Also used : RootGroup(com.yahoo.search.grouping.result.RootGroup) Group(com.yahoo.search.grouping.result.Group) Query(com.yahoo.search.Query) RootGroup(com.yahoo.search.grouping.result.RootGroup) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 87 with Result

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());
}
Also used : Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 88 with Result

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());
}
Also used : GroupList(com.yahoo.search.grouping.result.GroupList) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 89 with Result

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());
}
Also used : GroupList(com.yahoo.search.grouping.result.GroupList) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 90 with Result

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());
}
Also used : GroupList(com.yahoo.search.grouping.result.GroupList) Result(com.yahoo.search.Result) Test(org.junit.Test)

Aggregations

Result (com.yahoo.search.Result)398 Test (org.junit.Test)231 Query (com.yahoo.search.Query)229 Execution (com.yahoo.search.searchchain.Execution)127 Searcher (com.yahoo.search.Searcher)94 Hit (com.yahoo.search.result.Hit)72 Chain (com.yahoo.component.chain.Chain)48 FastHit (com.yahoo.prelude.fastsearch.FastHit)36 HitGroup (com.yahoo.search.result.HitGroup)29 JSONString (com.yahoo.prelude.hitfield.JSONString)26 HashMap (java.util.HashMap)21 FeedContext (com.yahoo.feedapi.FeedContext)19 MessagePropertyProcessor (com.yahoo.feedapi.MessagePropertyProcessor)19 NullFeedMetric (com.yahoo.feedhandler.NullFeedMetric)19 ClusterList (com.yahoo.vespaclient.ClusterList)19 ErrorMessage (com.yahoo.search.result.ErrorMessage)17 Choice (com.yahoo.search.pagetemplates.model.Choice)16 Organizer (com.yahoo.search.pagetemplates.engine.Organizer)15 DocumentSourceSearcher (com.yahoo.search.searchchain.testutil.DocumentSourceSearcher)15 DeterministicResolver (com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver)14