@Override public TermsPage queryForTermsPage(TermsQuery query) { Assert.notNull(query, "Query must not be 'null'."); QueryResponse response = query(query); TermsResultPage page = new TermsResultPage(); page.addAllTerms(ResultHelper.convertTermsQueryResponseToTermsMap(response)); return page; }
@Override public <T> FacetPage<T> queryForFacetPage(FacetQuery query, Class<T> clazz) { Assert.notNull(query, "Query must not be 'null'."); Assert.notNull(clazz, "Target class must not be 'null'."); QueryResponse response = query(query); List<T> beans = convertQueryResponseToBeans(response, clazz); SolrDocumentList results = response.getResults(); SolrResultPage<T> page = new SolrResultPage<T>( beans, query.getPageRequest(), results.getNumFound(), results.getMaxScore()); page.addAllFacetFieldResultPages( ResultHelper.convertFacetQueryResponseToFacetPageMap(query, response)); page.addAllFacetPivotFieldResult( ResultHelper.convertFacetQueryResponseToFacetPivotMap(query, response)); page.setFacetQueryResultPage( ResultHelper.convertFacetQueryResponseToFacetQueryResult(query, response)); return page; }
@Override public <T> HighlightPage<T> queryForHighlightPage(HighlightQuery query, Class<T> clazz) { Assert.notNull(query, "Query must not be 'null'."); Assert.notNull(clazz, "Target class must not be 'null'."); QueryResponse response = query(query); List<T> beans = convertQueryResponseToBeans(response, clazz); SolrDocumentList results = response.getResults(); SolrResultPage<T> page = new SolrResultPage<T>( beans, query.getPageRequest(), results.getNumFound(), results.getMaxScore()); ResultHelper.convertAndAddHighlightQueryResponseToResultPage(response, page); return page; }