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 theResponseParser
using Solr'sQueryResponse
. This creates theSearchResponse
with theDocumentObjectMapper
mapped results, requested page, response total, and raw query response. TheSolrResponseDecorator
s 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
-
Constructor Summary
Constructors Constructor Description DefaultSolrResponseParser(DocumentObjectMapper documentObjectMapper, List<SolrResponseDecorator> solrResponseDecorators)
-
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()
-
-
-
Constructor Detail
-
DefaultSolrResponseParser
public DefaultSolrResponseParser(DocumentObjectMapper documentObjectMapper, List<SolrResponseDecorator> solrResponseDecorators)
-
-
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 interfacecom.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 interfacecom.broadleafcommerce.search.core.service.ResponseParser<org.apache.solr.client.solrj.response.QueryResponse,com.broadleafcommerce.search.api.domain.SearchResponse>
- Parameters:
queryResponse
- The query response from SolrsearchRequest
- The original search request producing this responsefieldDefinitions
- The field definitions used on the searchpage
- The requested page for the searchproperties
- additional properties for the search requestcontext
- 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()
-
-