Search in sources :

Example 51 with Hit

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

the class JsonRendererTestCase method testDebugRendering.

@Test
public final void testDebugRendering() throws IOException, InterruptedException, ExecutionException, JSONException {
    String expected = "{\n" + "    \"root\": {\n" + "        \"children\": [\n" + "            {\n" + "                \"fields\": {\n" + "                    \"NaN\": \"NaN\",\n" + "                    \"emptyString\": \"\",\n" + "                    \"emptyStringFieldValue\": \"\",\n" + "                    \"$vespaImplementationDetail\": \"Hello, World!\"\n" + "                },\n" + "                \"id\": \"hiddenFields\",\n" + "                \"relevance\": 1.0\n" + "            }\n" + "        ],\n" + "        \"fields\": {\n" + "            \"totalCount\": 1\n" + "        },\n" + "        \"id\": \"toplevel\",\n" + "        \"relevance\": 1.0\n" + "    }\n" + "}\n";
    Result r = new Result(new Query("/?renderer.json.debug=true"));
    Hit h = createHitWithOnlyHiddenFields();
    r.hits().add(h);
    r.setTotalHitCount(1L);
    String summary = render(r);
    assertEqualJson(expected, summary);
}
Also used : FastHit(com.yahoo.prelude.fastsearch.FastHit) Hit(com.yahoo.search.result.Hit) Query(com.yahoo.search.Query) JSONString(com.yahoo.prelude.hitfield.JSONString) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 52 with Hit

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

the class JsonRendererTestCase method testHiddenFields.

@Test
public final void testHiddenFields() throws IOException, InterruptedException, ExecutionException, JSONException {
    String expected = "{\n" + "    \"root\": {\n" + "        \"children\": [\n" + "            {\n" + "                \"id\": \"hiddenFields\",\n" + "                \"relevance\": 1.0\n" + "            }\n" + "        ],\n" + "        \"fields\": {\n" + "            \"totalCount\": 1\n" + "        },\n" + "        \"id\": \"toplevel\",\n" + "        \"relevance\": 1.0\n" + "    }\n" + "}\n";
    Result r = newEmptyResult();
    Hit h = createHitWithOnlyHiddenFields();
    r.hits().add(h);
    r.setTotalHitCount(1L);
    String summary = render(r);
    assertEqualJson(expected, summary);
}
Also used : FastHit(com.yahoo.prelude.fastsearch.FastHit) Hit(com.yahoo.search.result.Hit) JSONString(com.yahoo.prelude.hitfield.JSONString) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 53 with Hit

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

the class JsonRendererTestCase method testHitWithSource.

@Test
public void testHitWithSource() throws IOException, InterruptedException, ExecutionException {
    String expected = "{\n" + "    \"root\": {\n" + "        \"children\": [\n" + "            {\n" + "                \"id\": \"datatypestuff\",\n" + "                \"relevance\": 1.0,\n" + "                \"source\": \"unit test\"\n" + "            }\n" + "        ],\n" + "        \"fields\": {\n" + "            \"totalCount\": 1\n" + "        },\n" + "        \"id\": \"toplevel\",\n" + "        \"relevance\": 1.0\n" + "    }\n" + "}\n";
    Result r = newEmptyResult();
    Hit h = new Hit("datatypestuff");
    h.setSource("unit test");
    r.hits().add(h);
    r.setTotalHitCount(1L);
    String summary = render(r);
    assertEqualJson(expected, summary);
}
Also used : FastHit(com.yahoo.prelude.fastsearch.FastHit) Hit(com.yahoo.search.result.Hit) JSONString(com.yahoo.prelude.hitfield.JSONString) Result(com.yahoo.search.Result) Test(org.junit.Test)

Example 54 with Hit

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

the class DeepHitIteratorTestCase method testSecondHitIsGroup.

public void testSecondHitIsGroup() {
    HitGroup root = new HitGroup();
    root.add(new Hit("foo"));
    HitGroup group = new HitGroup();
    group.add(new Hit("bar"));
    root.add(group);
    Iterator<Hit> it = root.deepIterator();
    assertTrue(it.hasNext());
    assertEquals("foo", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("bar", it.next().getId().toString());
    assertFalse(it.hasNext());
}
Also used : Hit(com.yahoo.search.result.Hit) HitGroup(com.yahoo.search.result.HitGroup)

Example 55 with Hit

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

the class DeepHitIteratorTestCase method testDeep.

public void testDeep() {
    HitGroup grandParent = new HitGroup();
    grandParent.add(new Hit("a"));
    HitGroup parent = new HitGroup();
    parent.add(new Hit("b"));
    HitGroup child = new HitGroup();
    child.add(new Hit("c"));
    HitGroup grandChild = new HitGroup();
    grandChild.add(new Hit("d"));
    child.add(grandChild);
    child.add(new Hit("e"));
    parent.add(child);
    parent.add(new Hit("f"));
    grandParent.add(parent);
    grandParent.add(new Hit("g"));
    Iterator<Hit> it = grandParent.deepIterator();
    assertTrue(it.hasNext());
    assertEquals("a", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("b", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("c", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("d", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("e", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("f", it.next().getId().toString());
    assertTrue(it.hasNext());
    assertEquals("g", it.next().getId().toString());
    assertFalse(it.hasNext());
}
Also used : Hit(com.yahoo.search.result.Hit) HitGroup(com.yahoo.search.result.HitGroup)

Aggregations

Hit (com.yahoo.search.result.Hit)127 Result (com.yahoo.search.Result)72 Query (com.yahoo.search.Query)52 FastHit (com.yahoo.prelude.fastsearch.FastHit)42 Test (org.junit.Test)41 Execution (com.yahoo.search.searchchain.Execution)25 HitGroup (com.yahoo.search.result.HitGroup)21 Searcher (com.yahoo.search.Searcher)17 JSONString (com.yahoo.prelude.hitfield.JSONString)13 GroupingListHit (com.yahoo.prelude.fastsearch.GroupingListHit)12 ErrorHit (com.yahoo.search.result.ErrorHit)10 Relevance (com.yahoo.search.result.Relevance)10 HashMap (java.util.HashMap)9 DocumentSourceSearcher (com.yahoo.prelude.searcher.DocumentSourceSearcher)8 Group (com.yahoo.search.grouping.result.Group)8 ComponentId (com.yahoo.component.ComponentId)7 Chain (com.yahoo.component.chain.Chain)7 FS4Hit (com.yahoo.searchlib.aggregation.FS4Hit)6 VdsHit (com.yahoo.searchlib.aggregation.VdsHit)6 GroupList (com.yahoo.search.grouping.result.GroupList)5