Example usage for org.springframework.data.elasticsearch.core.facet FacetRequest getFacet

List of usage examples for org.springframework.data.elasticsearch.core.facet FacetRequest getFacet

Introduction

In this page you can find the example usage for org.springframework.data.elasticsearch.core.facet FacetRequest getFacet.

Prototype

AbstractAggregationBuilder getFacet();

Source Link

Usage

From source file:org.springframework.data.elasticsearch.core.ElasticsearchTemplate.java

private SearchResponse doSearch(SearchRequestBuilder searchRequest, SearchQuery searchQuery) {
    if (searchQuery.getFilter() != null) {
        searchRequest.setFilter(searchQuery.getFilter());
    }//from   w ww . j a v  a2s.  co  m

    if (searchQuery.getElasticsearchSort() != null) {
        searchRequest.addSort(searchQuery.getElasticsearchSort());
    }

    if (CollectionUtils.isNotEmpty(searchQuery.getFacets())) {
        for (FacetRequest facetRequest : searchQuery.getFacets()) {
            FacetBuilder facet = facetRequest.getFacet();
            if (facetRequest.applyQueryFilter() && searchQuery.getFilter() != null) {
                facet.facetFilter(searchQuery.getFilter());
            }
            searchRequest.addFacet(facet);
        }
    }

    if (searchQuery.getHighlightFields() != null) {
        for (HighlightBuilder.Field highlightField : searchQuery.getHighlightFields()) {
            searchRequest.addHighlightedField(highlightField);
        }
    }

    return searchRequest.setQuery(searchQuery.getQuery()).execute().actionGet();
}