/** * @param filter The filter for the bucket that resulted in this context/domain. Can be null if * this is the root context. * @param domain The resulting set of documents for this facet. */ public FacetContext sub(Query filter, DocSet domain) { FacetContext ctx = new FacetContext(); ctx.parent = this; ctx.base = domain; ctx.filter = filter; // carry over from parent ctx.flags = flags; ctx.qcontext = qcontext; ctx.req = req; ctx.searcher = searcher; return ctx; }
/** * factory method for invoking json facet framework as whole. Note: this is currently only used * from SimpleFacets, not from JSON Facet API itself. */ public static FacetProcessor<?> createProcessor( SolrQueryRequest req, Map<String, Object> params, DocSet docs) { FacetParser parser = new FacetTopParser(req); FacetRequest facetRequest = null; try { facetRequest = parser.parse(params); } catch (SyntaxError syntaxError) { throw new SolrException(SolrException.ErrorCode.BAD_REQUEST, syntaxError); } FacetContext fcontext = new FacetContext(); fcontext.base = docs; fcontext.req = req; fcontext.searcher = req.getSearcher(); fcontext.qcontext = QueryContext.newContext(fcontext.searcher); return facetRequest.createFacetProcessor(fcontext); }