Class DefaultSolrResponseParser

  • All Implemented Interfaces:
    com.broadleafcommerce.search.core.service.ResponseParser<org.apache.solr.client.solrj.response.QueryResponse,​com.broadleafcommerce.search.api.domain.SearchResponse>

    public class DefaultSolrResponseParser
    extends Object
    implements com.broadleafcommerce.search.core.service.ResponseParser<org.apache.solr.client.solrj.response.QueryResponse,​com.broadleafcommerce.search.api.domain.SearchResponse>
    Default implementation of the ResponseParser using Solr's QueryResponse. This creates the SearchResponse with the DocumentObjectMapper mapped results, requested page, response total, and raw query response. The SolrResponseDecorators are executed to perform any other logic to populate result content and other response information.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static com.broadleafcommerce.search.core.service.SearchRequestProperties DEFAULT_PROPS  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      com.broadleafcommerce.search.api.domain.SearchResponse constructResponse​(org.apache.solr.client.solrj.response.QueryResponse queryResponse, com.broadleafcommerce.search.api.domain.SearchRequest searchRequest, List<com.broadleafcommerce.search.api.domain.FieldDefinition> fieldDefinitions, org.springframework.data.domain.Pageable page, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)  
      com.broadleafcommerce.search.api.domain.SearchResponse constructResponse​(org.apache.solr.client.solrj.response.QueryResponse queryResponse, com.broadleafcommerce.search.api.domain.SearchRequest searchRequest, List<com.broadleafcommerce.search.api.domain.FieldDefinition> fieldDefinitions, org.springframework.data.domain.Pageable page, com.broadleafcommerce.search.core.service.SearchRequestProperties properties, com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
      Create the search response and populate it with the raw Solr response.
      protected com.broadleafcommerce.search.core.service.SearchRequestProperties getDefaultProps()  
      protected DocumentObjectMapper getDocumentObjectMapper()  
      protected List<SolrResponseDecorator> getSolrResponseDecorators()  
    • Field Detail

      • DEFAULT_PROPS

        protected static final com.broadleafcommerce.search.core.service.SearchRequestProperties DEFAULT_PROPS
    • Method Detail

      • constructResponse

        public com.broadleafcommerce.search.api.domain.SearchResponse constructResponse​(org.apache.solr.client.solrj.response.QueryResponse queryResponse,
                                                                                        com.broadleafcommerce.search.api.domain.SearchRequest searchRequest,
                                                                                        List<com.broadleafcommerce.search.api.domain.FieldDefinition> fieldDefinitions,
                                                                                        org.springframework.data.domain.Pageable page,
                                                                                        @Nullable
                                                                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
                                                                                 throws com.broadleafcommerce.search.api.SearchException
        Specified by:
        constructResponse in interface com.broadleafcommerce.search.core.service.ResponseParser<org.apache.solr.client.solrj.response.QueryResponse,​com.broadleafcommerce.search.api.domain.SearchResponse>
        Throws:
        com.broadleafcommerce.search.api.SearchException
      • constructResponse

        public com.broadleafcommerce.search.api.domain.SearchResponse constructResponse​(org.apache.solr.client.solrj.response.QueryResponse queryResponse,
                                                                                        com.broadleafcommerce.search.api.domain.SearchRequest searchRequest,
                                                                                        List<com.broadleafcommerce.search.api.domain.FieldDefinition> fieldDefinitions,
                                                                                        org.springframework.data.domain.Pageable page,
                                                                                        com.broadleafcommerce.search.core.service.SearchRequestProperties properties,
                                                                                        @Nullable
                                                                                        com.broadleafcommerce.data.tracking.core.context.ContextInfo context)
        Create the search response and populate it with the raw Solr response.

        Delegates to the DocumentObjectMapper to map Solr documents into response content.

        Executes all registered SolrResponseDecorator to populate extra response information.

        Specified by:
        constructResponse in interface com.broadleafcommerce.search.core.service.ResponseParser<org.apache.solr.client.solrj.response.QueryResponse,​com.broadleafcommerce.search.api.domain.SearchResponse>
        Parameters:
        queryResponse - The query response from Solr
        searchRequest - The original search request producing this response
        fieldDefinitions - The field definitions used on the search
        page - The requested page for the search
        properties - additional properties for the search request
        context - The context information surrounding sandboxing/multitenant state
        Returns:
        SearchResponse representing search results
      • getDefaultProps

        protected com.broadleafcommerce.search.core.service.SearchRequestProperties getDefaultProps()