Slide 43
Slide 43 text
43
private Stream
streamWithCloudSolrStream(String zkHost, String collection, String shardUrl, SolrQuery query,
TimeSeriesConverter converter)
throws IOException {
Map params = new HashMap();
params.put("q", query.getQuery());
params.put("sort", "id asc");
params.put("shards", extractShardIdFromShardUrl(shardUrl));
params.put("fl",
Schema.DATA + ", " + Schema.ID + ", " + Schema.START + ", " + Schema.END +
", metric, host, measurement, process, ag, group");
params.put("qt", "/export");
params.put("distrib", false);
CloudSolrStream solrStream = new CloudSolrStream(zkHost, collection, params);
solrStream.open();
SolrTupleStreamingService tupStream = new SolrTupleStreamingService(solrStream, converter);
return StreamSupport.stream(
Spliterators.spliteratorUnknownSize(tupStream, Spliterator.SIZED), false);
}
Pin query to one shard
Use export request handler
Boilerplate code to stream response
@adersberger