Class DefaultIndexer
java.lang.Object
de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer
- All Implemented Interfaces:
Indexer,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanFactoryAware
public class DefaultIndexer
extends Object
implements Indexer, org.springframework.beans.factory.BeanFactoryAware
Default implementation of
Indexer.-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddCommonFields(org.apache.solr.common.SolrInputDocument document, IndexerBatchContext batchContext, ItemModel model) protected voidaddIndexedPropertyFields(InputDocument document, IndexerBatchContext batchContext, ItemModel model) protected voidaddIndexedPropertyFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, Collection<IndexedProperty> indexedProperties, String valueProviderId, ValueResolver<ItemModel> valueProvider) protected voidaddIndexedPropertyFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, Collection<IndexedProperty> indexedProperties, String valueProviderId, FieldValueProvider valueProvider) protected voidaddIndexedTypeFields(InputDocument document, IndexerBatchContext batchContext, ItemModel model) protected voidaddIndexedTypeFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, String typeValueProviderBeanId, TypeValueResolver<ItemModel> typeValueProvider) protected voidaddIndexedTypeFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, String typeValueProviderBeanId, IndexedTypeFieldsValuesProvider typeValueProvider) protected org.apache.solr.common.SolrInputDocumentcreateInputDocument(ItemModel model, IndexConfig indexConfig, IndexedType indexedType) protected org.apache.solr.common.SolrInputDocumentcreateInputDocument(ItemModel model, IndexConfig indexConfig, IndexedType indexedType, Collection<IndexedProperty> indexedProperties) protected DefaultSolrInputDocumentcreateWrappedDocument(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate) protected DefaultSolrInputDocumentcreateWrappedDocumentForPartialUpdates(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate, Set<String> indexedPropertiesFields) protected org.springframework.beans.factory.BeanFactoryprotected ExportergetExporter(SolrServerMode serverMode) protected IdentityProvider<ItemModel>getIdentityProvider(IndexedType indexedType) getIndexedFields(IndexerBatchContext batchContext) getIndexedFields(Index index, org.apache.solr.client.solrj.SolrClient solrClient) protected ObjectgetTypeValueProvider(String beanName) protected voidhandleError(IndexConfig indexConfig, IndexedType indexedType, String message, Exception error) protected voidhandleError(IndexConfig indexConfig, String message, Exception error) Collection<org.apache.solr.common.SolrInputDocument>indexItems(Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType) Method send items to indexer.Collection<org.apache.solr.common.SolrInputDocument>indexItems(Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Collection<IndexedProperty> indexedProperties) Method send items to indexer.voidremoveItemsByPk(Collection<PK> pks, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Index index) protected Map<String,Collection<IndexedProperty>> resolveValueProviders(IndexerBatchContext batchContext) voidsetBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) voidsetFieldNameProvider(FieldNameProvider fieldNameProvider) voidsetIndexerBatchContextFactory(IndexerBatchContextFactory indexerBatchContextFactory) voidsetModelService(ModelService modelService) voidsetRangeNameProvider(RangeNameProvider rangeNameProvider) voidsetSolrSearchProviderFactory(SolrSearchProviderFactory solrSearchProviderFactory) voidsetTypeService(TypeService typeService) voidsetValueProviderSelectionStrategy(ValueProviderSelectionStrategy valueProviderSelectionStrategy) protected voidvalidateCommonRequiredParameters(ItemModel item, IndexConfig indexConfig, IndexedType indexedType)
-
Field Details
-
VALUE_PROVIDERS_KEY
- See Also:
-
INDEXED_FIELDS_KEY
- See Also:
-
-
Constructor Details
-
DefaultIndexer
public DefaultIndexer()
-
-
Method Details
-
getModelService
-
setModelService
-
getTypeService
-
setTypeService
-
getSolrSearchProviderFactory
-
setSolrSearchProviderFactory
-
getIndexerBatchContextFactory
-
setIndexerBatchContextFactory
-
getFieldNameProvider
-
setFieldNameProvider
-
getRangeNameProvider
-
setRangeNameProvider
-
getValueProviderSelectionStrategy
-
setValueProviderSelectionStrategy
public void setValueProviderSelectionStrategy(ValueProviderSelectionStrategy valueProviderSelectionStrategy) -
getBeanFactory
protected org.springframework.beans.factory.BeanFactory getBeanFactory() -
setBeanFactory
public void setBeanFactory(org.springframework.beans.factory.BeanFactory beanFactory) - Specified by:
setBeanFactoryin interfaceorg.springframework.beans.factory.BeanFactoryAware
-
indexItems
public Collection<org.apache.solr.common.SolrInputDocument> indexItems(Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType) throws IndexerException, InterruptedException Description copied from interface:IndexerMethod send items to indexer.- Specified by:
indexItemsin interfaceIndexer- Parameters:
items- items for send to indexer in one transactionfacetSearchConfig- configuration of facet searchindexedType- indexed type definition- Returns:
- list of items converted to solrDocuments
- Throws:
IndexerException- if an error occurs during indexingInterruptedException- if any thread interrupted the current thread before before it completed indexing. The interrupted status of the current thread is cleared when this exception is thrown.
-
indexItems
public Collection<org.apache.solr.common.SolrInputDocument> indexItems(Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Collection<IndexedProperty> indexedProperties) throws IndexerException, InterruptedException Description copied from interface:IndexerMethod send items to indexer.- Specified by:
indexItemsin interfaceIndexer- Parameters:
items- items for send to indexer in one transactionfacetSearchConfig- configuration of facet searchindexedType- indexed type definitionindexedProperties- the properties to index- Returns:
- list of items converted to solrDocuments
- Throws:
IndexerException- if an error occurs during indexingInterruptedException- if any thread interrupted the current thread before before it completed indexing. The interrupted status of the current thread is cleared when this exception is thrown.
-
removeItemsByPk
public void removeItemsByPk(Collection<PK> pks, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Index index) throws IndexerException, InterruptedException - Specified by:
removeItemsByPkin interfaceIndexer- Parameters:
pks- - list of pks to be removedfacetSearchConfig- - the facet search configurationindexedType- - the indexed type- Throws:
InterruptedException- if any thread interrupted the current thread before before it completed indexing. The interrupted status of the current thread is cleared when this exception is thrown.IndexerException
-
handleError
protected void handleError(IndexConfig indexConfig, IndexedType indexedType, String message, Exception error) throws IndexerException - Throws:
IndexerException
-
getIdentityProvider
-
getExporter
-
createInputDocument
protected org.apache.solr.common.SolrInputDocument createInputDocument(ItemModel model, IndexConfig indexConfig, IndexedType indexedType) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
createInputDocument
protected org.apache.solr.common.SolrInputDocument createInputDocument(ItemModel model, IndexConfig indexConfig, IndexedType indexedType, Collection<IndexedProperty> indexedProperties) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
validateCommonRequiredParameters
protected void validateCommonRequiredParameters(ItemModel item, IndexConfig indexConfig, IndexedType indexedType) -
createWrappedDocument
protected DefaultSolrInputDocument createWrappedDocument(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate) -
createWrappedDocumentForPartialUpdates
protected DefaultSolrInputDocument createWrappedDocumentForPartialUpdates(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate, Set<String> indexedPropertiesFields) -
addCommonFields
protected void addCommonFields(org.apache.solr.common.SolrInputDocument document, IndexerBatchContext batchContext, ItemModel model) -
addIndexedPropertyFields
protected void addIndexedPropertyFields(InputDocument document, IndexerBatchContext batchContext, ItemModel model) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
addIndexedPropertyFieldsForOldApi
protected void addIndexedPropertyFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, Collection<IndexedProperty> indexedProperties, String valueProviderId, FieldValueProvider valueProvider) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
addIndexedPropertyFieldsForNewApi
protected void addIndexedPropertyFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, Collection<IndexedProperty> indexedProperties, String valueProviderId, ValueResolver<ItemModel> valueProvider) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
addIndexedTypeFields
protected void addIndexedTypeFields(InputDocument document, IndexerBatchContext batchContext, ItemModel model) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
addIndexedTypeFieldsForOldApi
protected void addIndexedTypeFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, String typeValueProviderBeanId, IndexedTypeFieldsValuesProvider typeValueProvider) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
addIndexedTypeFieldsForNewApi
protected void addIndexedTypeFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, String typeValueProviderBeanId, TypeValueResolver<ItemModel> typeValueProvider) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
resolveValueProviders
protected Map<String,Collection<IndexedProperty>> resolveValueProviders(IndexerBatchContext batchContext) -
getIndexedFields
protected Set<String> getIndexedFields(IndexerBatchContext batchContext) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
getIndexedFields
protected Set<String> getIndexedFields(Index index, org.apache.solr.client.solrj.SolrClient solrClient) throws org.apache.solr.client.solrj.SolrServerException, IOException - Throws:
org.apache.solr.client.solrj.SolrServerExceptionIOException
-
handleError
protected void handleError(IndexConfig indexConfig, String message, Exception error) throws FieldValueProviderException - Throws:
FieldValueProviderException
-
getTypeValueProvider
-