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 SolrResponseDecorator
s are
executed to perform any other logic to populate result content and other response information.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final com.broadleafcommerce.search.core.service.SearchRequestProperties
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultSolrResponseParser
(DocumentObjectMapper documentObjectMapper, List<SolrResponseDecorator> solrResponseDecorators) -
Method Summary
Modifier and TypeMethodDescriptioncom.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
protected DocumentObjectMapper
protected List<SolrResponseDecorator>
-
Field Details
-
DEFAULT_PROPS
protected static final com.broadleafcommerce.search.core.service.SearchRequestProperties DEFAULT_PROPS
-
-
Constructor Details
-
DefaultSolrResponseParser
public DefaultSolrResponseParser(DocumentObjectMapper documentObjectMapper, List<SolrResponseDecorator> solrResponseDecorators)
-
-
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 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
-
getSolrResponseDecorators
-