Search in sources :

Example 31 with Query

use of com.yahoo.search.Query in project vespa by vespa-engine.

the class PacketWrapperTestCase method testPacketTrimming12.

@Test
public void testPacketTrimming12() {
    CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
    PacketWrapper w = createResult(key, 0, 10, 100);
    QueryResultPacket q = createQueryResultPacket(4, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(12, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(16, 10, 100);
    w.addResultPacket(q);
    assertEquals(4, w.getResultPackets().size());
    q = createQueryResultPacket(8, 10, 100);
    w.addResultPacket(q);
    assertEquals(3, w.getResultPackets().size());
    List<?> l = w.getResultPackets();
    assertEquals(0, ((QueryResultPacket) l.get(0)).getOffset());
    assertEquals(8, ((QueryResultPacket) l.get(1)).getOffset());
    assertEquals(16, ((QueryResultPacket) l.get(2)).getOffset());
}
Also used : QueryResultPacket(com.yahoo.fs4.QueryResultPacket) Query(com.yahoo.search.Query) PacketWrapper(com.yahoo.prelude.fastsearch.PacketWrapper) CacheKey(com.yahoo.prelude.fastsearch.CacheKey) Test(org.junit.Test)

Example 32 with Query

use of com.yahoo.search.Query in project vespa by vespa-engine.

the class PacketWrapperTestCase method testPacketTrimming6.

@Test
public void testPacketTrimming6() {
    CacheKey key = new CacheKey(QueryPacket.create(new Query("/?query=key")));
    PacketWrapper w = createResult(key, 0, 10, 100);
    QueryResultPacket q = createQueryResultPacket(5, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(10, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(60, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(65, 10, 100);
    w.addResultPacket(q);
    q = createQueryResultPacket(70, 10, 100);
    w.addResultPacket(q);
    assertEquals(4, w.getResultPackets().size());
    List<?> l = w.getResultPackets();
    assertEquals(0, ((QueryResultPacket) l.get(0)).getOffset());
    assertEquals(10, ((QueryResultPacket) l.get(1)).getOffset());
    assertEquals(60, ((QueryResultPacket) l.get(2)).getOffset());
    assertEquals(70, ((QueryResultPacket) l.get(3)).getOffset());
}
Also used : QueryResultPacket(com.yahoo.fs4.QueryResultPacket) Query(com.yahoo.search.Query) PacketWrapper(com.yahoo.prelude.fastsearch.PacketWrapper) CacheKey(com.yahoo.prelude.fastsearch.CacheKey) Test(org.junit.Test)

Example 33 with Query

use of com.yahoo.search.Query in project vespa by vespa-engine.

the class ChoiceOfSubsectionsTestCase method testExecution.

@Test
public void testExecution() {
    // Create the page template
    Choice page = Choice.createSingleton(importPage("ChoiceOfSubsections.xml"));
    // Create a federated result
    Query query = new Query();
    Result result = new Result(query);
    result.hits().add(createHits("source1", 3));
    result.hits().add(createHits("source2", 3));
    result.hits().add(createHits("source3", 3));
    result.hits().add(createHits("source4", 3));
    new Organizer().organize(page, new DeterministicResolverAssertingMethod().resolve(page, query, result), result);
    // Check execution:
    // Two subsections with one source each
    assertEquals(2, result.hits().size());
    HitGroup section1 = (HitGroup) result.hits().get(0);
    HitGroup section2 = (HitGroup) result.hits().get(1);
    assertEqualHitGroups(createHits("source2", 3), section1);
    assertEqualHitGroups(createHits("source4", 3), section2);
    // Check rendering
    assertRendered(result, "ChoiceOfSubsectionsResult.xml");
}
Also used : Choice(com.yahoo.search.pagetemplates.model.Choice) Query(com.yahoo.search.Query) Organizer(com.yahoo.search.pagetemplates.engine.Organizer) Result(com.yahoo.search.Result) HitGroup(com.yahoo.search.result.HitGroup) Test(org.junit.Test)

Example 34 with Query

use of com.yahoo.search.Query in project vespa by vespa-engine.

the class ChoicesTestCase method testExecution.

@Test
public void testExecution() {
    // Create the page template (second alternative will be chosen)
    List<PageElement> pages = new ArrayList<>();
    pages.add(importPage("AnySource.xml"));
    pages.add(importPage("Choices.xml"));
    Choice page = Choice.createSingletons(pages);
    // Create a federated result
    Query query = new Query();
    Result result = new Result(query);
    result.hits().add(createHits("news", 3));
    result.hits().add(createHits("web", 3));
    result.hits().add(createHits("blog", 3));
    result.hits().add(createHits("images", 3));
    // Resolve
    Resolver resolver = new DeterministicResolver();
    Resolution resolution = resolver.resolve(page, query, result);
    // Execute
    Organizer organizer = new Organizer();
    organizer.organize(page, resolution, result);
    // Check rendering
    assertRendered(result, "ChoicesResult.xml");
}
Also used : Choice(com.yahoo.search.pagetemplates.model.Choice) Query(com.yahoo.search.Query) Resolver(com.yahoo.search.pagetemplates.engine.Resolver) DeterministicResolver(com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver) Organizer(com.yahoo.search.pagetemplates.engine.Organizer) DeterministicResolver(com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver) ArrayList(java.util.ArrayList) PageElement(com.yahoo.search.pagetemplates.model.PageElement) Result(com.yahoo.search.Result) Resolution(com.yahoo.search.pagetemplates.engine.Resolution) Test(org.junit.Test)

Example 35 with Query

use of com.yahoo.search.Query in project vespa by vespa-engine.

the class ChoiceOfRenderersTestCase method testExecution.

// This test is order dependent. Fix this!!
@Test
public void testExecution() {
    // Create the page template
    Choice page = Choice.createSingleton(importPage("ChoiceOfRenderers.xml"));
    // Create a federated result
    Query query = new Query();
    Result result = new Result(query);
    result.hits().add(createHits("source1", 3));
    result.hits().add(createHits("source2", 3));
    result.hits().add(createHits("source3", 3));
    // Resolve
    Resolver resolver = new DeterministicResolver();
    Resolution resolution = resolver.resolve(page, query, result);
    assertEquals(1, resolution.getResolution((Choice) ((PageTemplate) page.get(0).get(0)).getSection().elements(Renderer.class).get(0)));
    assertEquals(2, resolution.getResolution((Choice) ((PageTemplate) page.get(0).get(0)).getSection().elements(Renderer.class).get(1)));
    // Execute
    Organizer organizer = new Organizer();
    organizer.organize(page, resolution, result);
    assertEquals(6, result.getConcreteHitCount());
    assertEquals(6, result.getHitCount());
    // Check rendering
    assertRendered(result, "ChoiceOfRenderersResult.xml");
}
Also used : Choice(com.yahoo.search.pagetemplates.model.Choice) Query(com.yahoo.search.Query) Resolver(com.yahoo.search.pagetemplates.engine.Resolver) DeterministicResolver(com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver) Organizer(com.yahoo.search.pagetemplates.engine.Organizer) DeterministicResolver(com.yahoo.search.pagetemplates.engine.resolvers.DeterministicResolver) Result(com.yahoo.search.Result) Resolution(com.yahoo.search.pagetemplates.engine.Resolution) Test(org.junit.Test)

Aggregations

Query (com.yahoo.search.Query)689 Test (org.junit.Test)415 Result (com.yahoo.search.Result)229 Execution (com.yahoo.search.searchchain.Execution)184 Searcher (com.yahoo.search.Searcher)82 QueryProfile (com.yahoo.search.query.profile.QueryProfile)63 Hit (com.yahoo.search.result.Hit)52 Chain (com.yahoo.component.chain.Chain)47 IndexFacts (com.yahoo.prelude.IndexFacts)44 CompiledQueryProfileRegistry (com.yahoo.search.query.profile.compiled.CompiledQueryProfileRegistry)37 AndItem (com.yahoo.prelude.query.AndItem)33 WordItem (com.yahoo.prelude.query.WordItem)33 FastHit (com.yahoo.prelude.fastsearch.FastHit)31 CompiledQueryProfile (com.yahoo.search.query.profile.compiled.CompiledQueryProfile)27 HitGroup (com.yahoo.search.result.HitGroup)24 Item (com.yahoo.prelude.query.Item)21 HashMap (java.util.HashMap)20 CacheKey (com.yahoo.prelude.fastsearch.CacheKey)18 GroupingRequest (com.yahoo.search.grouping.GroupingRequest)18 ArrayList (java.util.ArrayList)18