public class SolrRESTSearchExpressionProcessor extends AbstractSearchExpression implements com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator, com.ibm.commerce.foundation.server.services.search.processor.SearchExpressionProcessor
An implementation of DataMediator to process Solr expression for use with RESTful services. This search expression processor will compose the final Solr expression and set up all requirement bootstrap setting for communicating to the Solr search server. The result set will then be mediated into an EntityContainer object to be returned to the caller.
This expression processor performs the following high level steps in this given order:
SolrQuery
object by
calling SolrSearchDebugQueryPreprocessor
;SolrQuery
object by calling
SolrSearchPreviewQueryPreprocessor
;SolrQuery
object by calling
SolrSearchSpellCorrectionQueryPreprocessor
;SolrQuery
object by calling
SolrSearchHighlighterQueryPreprocessor
;SolrQuery
object
by calling SolrSearchPaginationQueryPreprocessor
;SolrQuery
object by
calling SolrSearchSortingQueryPreprocessor
;SolrSearchResultFieldQueryPreprocessor
;SolrSearchFacetQueryPreprocessor
;SolrQuery
object
by calling SolrSearchMainQueryPreprocessor
;SolrQuery
parameters into the
final Solr query expression by calling
SolrSearchCustomQueryPreprocessor
;SolrQuery
object
right before sending to Solr server for processing;SolrQuery
object;SearchResponse
, right after the QueryResponse
is
returned from the Solr server.Constructor and Description |
---|
SolrRESTSearchExpressionProcessor(java.lang.String componentId)
Constructor
|
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
createEntityObject(EntityContainer entityContainer,
java.lang.Object owningEntityObject,
java.lang.Class entityClass) |
java.lang.String |
getComponentId()
Returns the component identifier.
|
EntityContainer |
getEmptyEntityContainer() |
EntityContainer |
getEntityObjects(SelectionCriteria selectionCriteria) |
com.ibm.commerce.foundation.server.services.search.processor.SearchResponse |
performSearch(SelectionCriteria selectionCriteria) |
void |
persistEntityObjects(EntityContainer entityContainer) |
void |
removeEntityObject(EntityContainer aEntityContainer,
java.lang.Object aEntityObject) |
addControlParameterValue, getControlParameterValue, getControlParameterValues, removeControlParameterValue, resetControlParameter, setControlParameterValue
public SolrRESTSearchExpressionProcessor(java.lang.String componentId)
componentId
- a component ID.public com.ibm.commerce.foundation.server.services.search.processor.SearchResponse performSearch(SelectionCriteria selectionCriteria) throws com.ibm.commerce.foundation.internal.common.exception.FoundationApplicationException
performSearch
in interface com.ibm.commerce.foundation.server.services.search.processor.SearchExpressionProcessor
com.ibm.commerce.foundation.internal.common.exception.FoundationApplicationException
SearchExpressionProcessor.performSearch(com.ibm.commerce.foundation.server.services.dataaccess.SelectionCriteria)
public EntityContainer getEntityObjects(SelectionCriteria selectionCriteria) throws DataMediatorException
getEntityObjects
in interface com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator
DataMediatorException
DataMediator.getEntityObjects(SelectionCriteria)
public java.lang.Object createEntityObject(EntityContainer entityContainer, java.lang.Object owningEntityObject, java.lang.Class entityClass)
createEntityObject
in interface com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator
DataMediator.createEntityObject(EntityContainer,
Object, Class)
public void removeEntityObject(EntityContainer aEntityContainer, java.lang.Object aEntityObject)
removeEntityObject
in interface com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator
DataMediator.removeEntityObject(com.ibm.commerce.foundation.server.services.dataaccess.EntityContainer,
java.lang.Object)
public void persistEntityObjects(EntityContainer entityContainer)
persistEntityObjects
in interface com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator
DataMediator.persistEntityObjects(com.ibm.commerce.foundation.server.services.dataaccess.EntityContainer)
public EntityContainer getEmptyEntityContainer()
getEmptyEntityContainer
in interface com.ibm.commerce.foundation.internal.server.services.dataaccess.datamediator.DataMediator
DataMediator.getEmptyEntityContainer()
public java.lang.String getComponentId()