Example usage for org.springframework.data.solr.core.query.result FacetPage getFacetFields

List of usage examples for org.springframework.data.solr.core.query.result FacetPage getFacetFields

Introduction

In this page you can find the example usage for org.springframework.data.solr.core.query.result FacetPage getFacetFields.

Prototype

Collection<Field> getFacetFields();

Source Link

Document

Get Fields contained in Result.

Usage

From source file:com.lijojacob.mls.productcatalog.index.ProductDocumentServiceImpl.java

private SearchResultDTO processSearchResults(FacetPage<ProductDocument> productDocumentsFacetPage) {
    SearchResultDTO result = new SearchResultDTO();
    DocumentResults documentResults = new DocumentResults();
    documentResults.setResults(productDocumentsFacetPage.getContent());
    documentResults.setTotalPages(productDocumentsFacetPage.getTotalPages());
    result.setDocuments(documentResults);
    if (CollectionUtils.isNotEmpty(productDocumentsFacetPage.getFacetFields())) {
        Map<String, List<Facet>> facetMap = new HashMap<String, List<Facet>>();
        FacetResults facetResults = new FacetResults();
        for (Field facetField : productDocumentsFacetPage.getFacetFields()) {
            if (null != productDocumentsFacetPage.getFacetResultPage(facetField)) {
                List<FacetFieldEntry> facetFieldEntryList = productDocumentsFacetPage
                        .getFacetResultPage(facetField).getContent();
                List<Facet> facets = new ArrayList<Facet>();
                for (FacetFieldEntry facetFieldEntry : facetFieldEntryList) {
                    Facet facet = new Facet();
                    facet.setValue(facetFieldEntry.getValue());
                    facet.setCount(facetFieldEntry.getValueCount());
                    facets.add(facet);/*from  w  w w  .  ja  v  a  2 s . co m*/
                }
                facetMap.put(facetField.getName(), facets);
            }
        }
        facetResults.setResults(facetMap);
        result.setFacets(facetResults);
    }
    return result;
}