{
if (!rb1.doFacets) {
return ;
}
final ResponseBuilder rb=rb1;
final long t1=System.currentTimeMillis();
ExecutorCompletionService<String> submit=new ExecutorCompletionService<String>(SUBMIT_POOL);
Callable<String> task = new Callable<String>() {
public String call() throws Exception {
long t2=System.currentTimeMillis();
SolrParams params = rb.req.getParams();
String[] facetFs = params.getParams(FacetParams.FACET_FIELD);
try{
if (null != facetFs) {
boolean isdetail = params.getBool(FacetParams.FACET_CROSS_DETAIL,false);
Object res= FacetComponent.this.getResult(isdetail,rb.req.getSearcher(), params,rb.req,facetFs,rb.getResults().docSet);
rb.rsp.add( "mdrill_data", res);
}else{
throw new Exception("null != facetFs");
}
}catch(Throwable e)