use of com.yahoo.search.Query in project vespa by vespa-engine.
the class XmlReadingTestCase method testSourceProvider.
@Test
public void testSourceProvider() {
CompiledQueryProfileRegistry registry = new QueryProfileXMLReader().read("src/test/java/com/yahoo/search/query/profile/config/test/sourceprovider").compile();
String queryString = "tiled?query=india&queryProfile=myprofile&source.common.intl=tw&source.common.mode=adv";
Query query = new Query(HttpRequest.createTestRequest(queryString, Method.GET), registry.getComponent("myprofile"));
for (Map.Entry e : query.properties().listProperties().entrySet()) System.out.println(e);
assertEquals("news", query.properties().listProperties().get("source.common.provider"));
assertEquals("news", query.properties().get("source.common.provider"));
}
use of com.yahoo.search.Query in project vespa by vespa-engine.
the class XmlReadingTestCase method testNewsFE1.
@Test
public void testNewsFE1() {
CompiledQueryProfileRegistry registry = new QueryProfileXMLReader().read("src/test/java/com/yahoo/search/query/profile/config/test/newsfe").compile();
String queryString = "tiled?vertical=news&query=barack&intl=us&resulttypes=article&testid=&clientintl=us&SpellState=&rss=0&tracelevel=5";
Query query = new Query(HttpRequest.createTestRequest(queryString, Method.GET), registry.getComponent("default"));
assertEquals("13", query.properties().listProperties().get("source.news.discovery.sources.count"));
assertEquals("13", query.properties().get("source.news.discovery.sources.count"));
assertEquals("sources", query.properties().listProperties().get("source.news.discovery"));
assertEquals("sources", query.properties().get("source.news.discovery"));
}
use of com.yahoo.search.Query in project vespa by vespa-engine.
the class XmlReadingTestCase method testQueryProfileVariants2.
@Test
public void testQueryProfileVariants2() {
CompiledQueryProfileRegistry registry = new QueryProfileXMLReader().read("src/test/java/com/yahoo/search/query/profile/config/test/queryprofilevariants2").compile();
CompiledQueryProfile multi = registry.getComponent("multi");
{
Query query = new Query(HttpRequest.createTestRequest("?queryProfile=multi", Method.GET), multi);
query.validate();
assertEquals("best", query.properties().get("model.queryString"));
assertEquals("best", query.getModel().getQueryString());
}
{
Query query = new Query(HttpRequest.createTestRequest("?queryProfile=multi&myindex=default", Method.GET), multi);
query.validate();
assertEquals("best", query.properties().get("model.queryString"));
assertEquals("best", query.getModel().getQueryString());
assertEquals("default", query.getModel().getDefaultIndex());
}
{
Query query = new Query(HttpRequest.createTestRequest("?queryProfile=multi&myindex=default&myquery=love", Method.GET), multi);
query.validate();
assertEquals("love", query.properties().get("model.queryString"));
assertEquals("love", query.getModel().getQueryString());
assertEquals("default", query.getModel().getDefaultIndex());
}
{
Query query = new Query(HttpRequest.createTestRequest("?model=querybest", Method.GET), multi);
query.validate();
assertEquals("best", query.getModel().getQueryString());
assertEquals("title", query.properties().get("model.defaultIndex"));
assertEquals("title", query.getModel().getDefaultIndex());
}
}
use of com.yahoo.search.Query in project vespa by vespa-engine.
the class QueryMarshallerTestCase method testQueryString.
private void testQueryString(QueryMarshaller marshaller, String uq, String mq, String lang, Linguistics linguistics) {
Query query = new Query("/?query=" + QueryTestCase.httpEncode(uq) + ((lang != null) ? "&language=" + lang : ""));
query.getModel().setExecution(new Execution(new Execution.Context(null, new IndexFacts(), null, null, linguistics)));
assertEquals(mq, marshaller.marshal(query.getModel().getQueryTree().getRoot()));
}
use of com.yahoo.search.Query in project vespa by vespa-engine.
the class ResultBuilderTestCase method testSimpleResult.
public void testSimpleResult() {
boolean gotErrorDetails = false;
ResultBuilder r = new ResultBuilder();
Result res = r.parse("file:src/test/java/com/yahoo/prelude/searcher/test/testhit.xml", new Query("?query=a"));
assertEquals(3, res.getConcreteHitCount());
assertEquals(4, res.getHitCount());
ErrorHit e = (ErrorHit) res.hits().get(0);
// is no way of nuking an existing error if the details exist.
for (Iterator<?> i = e.errorIterator(); i.hasNext(); ) {
ErrorMessage err = (ErrorMessage) i.next();
assertEquals(5, err.getCode());
String details = err.getDetailedMessage();
if (details != null) {
gotErrorDetails = true;
assertEquals("An error as ordered", details.trim());
}
}
assertTrue("Error details are missing", gotErrorDetails);
assertEquals(new URI("http://def"), res.hits().get(1).getId());
assertEquals("test/stuff\\tsome/other", res.hits().get(2).getField("category"));
assertEquals("<field>habla</field>" + "<hi>blbl</hi><br /><>&fdlkkgj</field>;lk<a b=\"1\" c=\"2\" />" + "<x><y><z /></y></x>", res.hits().get(3).getField("annoying").toString());
}
Aggregations