/**
* Now we need a DRPC stream to query the state where the tweets are stored.
* To do that, as shown below, we need an implementation of {@link QueryFunction} to
* access our {@link ElasticSearchState}.
*/
TridentState elasticSearchState = topology.newStaticState(new ElasticSearchStateFactory());
topology
.newDRPCStream("search")
.each(new Fields("args"), new Split(" "), new Fields("keywords")) // let's split the arguments
.stateQuery(elasticSearchState, new Fields("keywords"), new TweetQuery(), new Fields("ids")) // and pass them as query parameters
.project(new Fields("ids"));