Class DefaultIndexer
- java.lang.Object
-
- de.hybris.platform.solrfacetsearch.indexer.impl.DefaultIndexer
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringINDEXED_FIELDS_KEYprotected static java.lang.StringVALUE_PROVIDERS_KEY
-
Constructor Summary
Constructors Constructor Description DefaultIndexer()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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, java.util.Collection<IndexedProperty> indexedProperties, java.lang.String valueProviderId, ValueResolver<ItemModel> valueProvider)protected voidaddIndexedPropertyFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, java.util.Collection<IndexedProperty> indexedProperties, java.lang.String valueProviderId, FieldValueProvider valueProvider)protected voidaddIndexedTypeFields(InputDocument document, IndexerBatchContext batchContext, ItemModel model)protected voidaddIndexedTypeFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, java.lang.String typeValueProviderBeanId, TypeValueResolver<ItemModel> typeValueProvider)protected voidaddIndexedTypeFieldsForOldApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, java.lang.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, java.util.Collection<IndexedProperty> indexedProperties)protected DefaultSolrInputDocumentcreateWrappedDocument(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate)protected DefaultSolrInputDocumentcreateWrappedDocumentForPartialUpdates(IndexerBatchContext batchContext, org.apache.solr.common.SolrInputDocument delegate, java.util.Set<java.lang.String> indexedPropertiesFields)protected org.springframework.beans.factory.BeanFactorygetBeanFactory()protected ExportergetExporter(SolrServerMode serverMode)FieldNameProvidergetFieldNameProvider()protected IdentityProvider<ItemModel>getIdentityProvider(IndexedType indexedType)protected java.util.Set<java.lang.String>getIndexedFields(IndexerBatchContext batchContext)protected java.util.Set<java.lang.String>getIndexedFields(Index index, org.apache.solr.client.solrj.SolrClient solrClient)IndexerBatchContextFactorygetIndexerBatchContextFactory()ModelServicegetModelService()RangeNameProvidergetRangeNameProvider()SolrSearchProviderFactorygetSolrSearchProviderFactory()TypeServicegetTypeService()protected java.lang.ObjectgetTypeValueProvider(java.lang.String beanName)ValueProviderSelectionStrategygetValueProviderSelectionStrategy()protected voidhandleError(IndexConfig indexConfig, IndexedType indexedType, java.lang.String message, java.lang.Exception error)protected voidhandleError(IndexConfig indexConfig, java.lang.String message, java.lang.Exception error)java.util.Collection<org.apache.solr.common.SolrInputDocument>indexItems(java.util.Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType)Method send items to indexer.java.util.Collection<org.apache.solr.common.SolrInputDocument>indexItems(java.util.Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType, java.util.Collection<IndexedProperty> indexedProperties)Method send items to indexer.voidremoveItemsByPk(java.util.Collection<PK> pks, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Index index)protected java.util.Map<java.lang.String,java.util.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 Detail
-
VALUE_PROVIDERS_KEY
protected static final java.lang.String VALUE_PROVIDERS_KEY
- See Also:
- Constant Field Values
-
INDEXED_FIELDS_KEY
protected static final java.lang.String INDEXED_FIELDS_KEY
- See Also:
- Constant Field Values
-
-
Method Detail
-
getModelService
public ModelService getModelService()
-
setModelService
public void setModelService(ModelService modelService)
-
getTypeService
public TypeService getTypeService()
-
setTypeService
public void setTypeService(TypeService typeService)
-
getSolrSearchProviderFactory
public SolrSearchProviderFactory getSolrSearchProviderFactory()
-
setSolrSearchProviderFactory
public void setSolrSearchProviderFactory(SolrSearchProviderFactory solrSearchProviderFactory)
-
getIndexerBatchContextFactory
public IndexerBatchContextFactory getIndexerBatchContextFactory()
-
setIndexerBatchContextFactory
public void setIndexerBatchContextFactory(IndexerBatchContextFactory indexerBatchContextFactory)
-
getFieldNameProvider
public FieldNameProvider getFieldNameProvider()
-
setFieldNameProvider
public void setFieldNameProvider(FieldNameProvider fieldNameProvider)
-
getRangeNameProvider
public RangeNameProvider getRangeNameProvider()
-
setRangeNameProvider
public void setRangeNameProvider(RangeNameProvider rangeNameProvider)
-
getValueProviderSelectionStrategy
public ValueProviderSelectionStrategy 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 java.util.Collection<org.apache.solr.common.SolrInputDocument> indexItems(java.util.Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType) throws IndexerException, java.lang.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 indexingjava.lang.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.
-
indexItems
public java.util.Collection<org.apache.solr.common.SolrInputDocument> indexItems(java.util.Collection<ItemModel> items, FacetSearchConfig facetSearchConfig, IndexedType indexedType, java.util.Collection<IndexedProperty> indexedProperties) throws IndexerException, java.lang.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 indexingjava.lang.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.
-
removeItemsByPk
public void removeItemsByPk(java.util.Collection<PK> pks, FacetSearchConfig facetSearchConfig, IndexedType indexedType, Index index) throws IndexerException, java.lang.InterruptedException
- Specified by:
removeItemsByPkin interfaceIndexer- Parameters:
pks- - list of pks to be removedfacetSearchConfig- - the facet search configurationindexedType- - the indexed type- Throws:
java.lang.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, java.lang.String message, java.lang.Exception error) throws IndexerException
- Throws:
IndexerException
-
getIdentityProvider
protected IdentityProvider<ItemModel> getIdentityProvider(IndexedType indexedType)
-
getExporter
protected Exporter getExporter(SolrServerMode serverMode)
-
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, java.util.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, java.util.Set<java.lang.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, java.util.Collection<IndexedProperty> indexedProperties, java.lang.String valueProviderId, FieldValueProvider valueProvider) throws FieldValueProviderException
- Throws:
FieldValueProviderException
-
addIndexedPropertyFieldsForNewApi
protected void addIndexedPropertyFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, java.util.Collection<IndexedProperty> indexedProperties, java.lang.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, java.lang.String typeValueProviderBeanId, IndexedTypeFieldsValuesProvider typeValueProvider) throws FieldValueProviderException
- Throws:
FieldValueProviderException
-
addIndexedTypeFieldsForNewApi
protected void addIndexedTypeFieldsForNewApi(InputDocument document, IndexerBatchContext batchContext, ItemModel model, java.lang.String typeValueProviderBeanId, TypeValueResolver<ItemModel> typeValueProvider) throws FieldValueProviderException
- Throws:
FieldValueProviderException
-
resolveValueProviders
protected java.util.Map<java.lang.String,java.util.Collection<IndexedProperty>> resolveValueProviders(IndexerBatchContext batchContext)
-
getIndexedFields
protected java.util.Set<java.lang.String> getIndexedFields(IndexerBatchContext batchContext) throws FieldValueProviderException
- Throws:
FieldValueProviderException
-
getIndexedFields
protected java.util.Set<java.lang.String> getIndexedFields(Index index, org.apache.solr.client.solrj.SolrClient solrClient) throws org.apache.solr.client.solrj.SolrServerException, java.io.IOException
- Throws:
org.apache.solr.client.solrj.SolrServerExceptionjava.io.IOException
-
handleError
protected void handleError(IndexConfig indexConfig, java.lang.String message, java.lang.Exception error) throws FieldValueProviderException
- Throws:
FieldValueProviderException
-
getTypeValueProvider
protected java.lang.Object getTypeValueProvider(java.lang.String beanName)
-
-