List of usage examples for org.springframework.data.solr.core.query.result FacetPage getContent
List<T> getContent();
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 www .jav a 2 s .co m*/ } facetMap.put(facetField.getName(), facets); } } facetResults.setResults(facetMap); result.setFacets(facetResults); } return result; }
From source file:com.dm.estore.search.services.impl.CatalogSearchServiceImpl.java
@Override public ProductSearchResultDto findProducts(ProductSearchDto searchRequest) { Sort sort = new Sort(Sort.Direction.fromString(searchRequest.getSortOrder()), searchRequest.getSortColumn()); PageRequest pageRequest = new PageRequest(searchRequest.getPage(), searchRequest.getPageSize(), sort); FacetPage<CatalogItemDto> catalogItems = catalogSearchRepository.searchProducts( searchRequest.getSearchTerms(), searchRequest.getCategory(), searchRequest.getMaterials(), searchRequest.getColors(), pageRequest); ProductSearchResultDto result = new ProductSearchResultDto(); result.setTotalCount(catalogItems.getTotalElements()); for (Page<? extends FacetEntry> page : catalogItems.getAllFacets()) { for (FacetEntry facetEntry : page.getContent()) { String key = String.valueOf(facetEntry.getKey()); String facetCode = facetEntry.getValue(); // name of the category long count = facetEntry.getValueCount(); // number of books in this category if (StringUtils.isEmpty(facetCode)) continue; if (CatalogItemDto.FIELD_CATEGORY.equalsIgnoreCase(key)) { result.getCategoriesFacet().put(facetCode, count); } else if (CatalogItemDto.FIELD_VARIANT_GROUP.equalsIgnoreCase(key)) { result.getGroupFacet().put(facetCode, count); } else if (CatalogItemDto.FIELD_CATEGORY.equalsIgnoreCase(key)) { result.getSubGroupFacet().put(facetCode, count); }//from www.jav a 2 s . c o m } } result.setProducts(productConverter.convert(catalogItems.getContent())); result.setTotalCount((int) (catalogItems.getTotalElements())); return result; }