コード例 #1
0
  @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;
  }
コード例 #2
0
  @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;
  }
コード例 #3
0
  @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;
  }