List of usage examples for org.apache.http.client.fluent Request bodyByteArray
public Request bodyByteArray(final byte[] b)
From source file:net.opentsdb.search.ElasticSearch.java
public Deferred<SearchQuery> executeQuery(final SearchQuery query) { final Deferred<SearchQuery> result = new Deferred<SearchQuery>(); final StringBuilder uri = new StringBuilder("http://"); uri.append(hosts.get(0).toHostString()); uri.append("/").append(index).append("/"); switch (query.getType()) { case TSMETA:/*from w w w . j a v a 2s . c om*/ case TSMETA_SUMMARY: case TSUIDS: uri.append(tsmeta_type); break; case UIDMETA: uri.append(uidmeta_type); break; case ANNOTATION: uri.append(annotation_type); break; } uri.append("/_search"); // setup the query body HashMap<String, Object> body = new HashMap<String, Object>(3); body.put("size", query.getLimit()); body.put("from", query.getStartIndex()); HashMap<String, Object> qs = new HashMap<String, Object>(1); body.put("query", qs); HashMap<String, String> query_string = new HashMap<String, String>(1); query_string.put("query", query.getQuery()); qs.put("query_string", query_string); final Request request = Request.Post(uri.toString()); request.bodyByteArray(JSON.serializeToBytes(body)); final Async async = Async.newInstance().use(threadpool); async.execute(request, new SearchCB(query, result)); return result; }