Class DefaultSolrResponseParser

java.lang.Object
com.broadleafcommerce.search.provider.solr.response.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 final com.broadleafcommerce.search.core.service.SearchRequestProperties
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    DefaultSolrResponseParser(DocumentObjectMapper documentObjectMapper, List<SolrResponseDecorator> solrResponseDecorators)
     
  • Method Summary

    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
     
     
     

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • DEFAULT_PROPS

      protected static final com.broadleafcommerce.search.core.service.SearchRequestProperties DEFAULT_PROPS
  • Constructor Details

  • Method Details

    • 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()
    • getDocumentObjectMapper

      protected DocumentObjectMapper getDocumentObjectMapper()
    • getSolrResponseDecorators

      protected List<SolrResponseDecorator> getSolrResponseDecorators()