The following are key properties of the RecordStoreDocumentSubmitter
components.
indexingApplicationConfiguration
The component of class atg.endeca.index.configuration.IndexingApplicationConfiguration
used to configure indexing settings for the integration. The default setting is:
indexingApplicationConfiguration=\
/atg/endeca/index/IndexingApplicationConfiguration
endecaDataStoreType
The type of the record store to submit to. This property is set to data
for the DataDocumentSubmitter
component, and dimval
for the DimensionDocumentSubmitter
component.
idPropertyName
The record property whose value is used as the unique identifier for the record. For the DimensionDocumentSubmitter
component, this property is set to Endeca.id
. For the DataDocumentSubmitter
component, this property is set to record.id
by linking to the recordIdName
property of the /atg/endeca/ApplicationConfiguration
component:
idPropertyName^=/atg/endeca/ApplicationConfiguration.recordIdName
If you want to change the value of DataDocumentSubmitter.idPropertyName
, you should do so by changing the value of ApplicationConfiguration.recordIdName
to ensure that other properties that link to it are changed as well.
propertyNameReplacementMap
By default, the /atg/commerce/endeca/index/CategoryToDimensionOutputConfig
and /atg/commerce/endeca/index/RepositoryTypeDimensionExporter
components output dimension value records whose property names reflect the older Forge-based deployment template rather than the CAS-based template currently recommended. To support the naming conventions used with CAS-based deployment templates, the propertyNameReplacementMap
property of the DimensionDocumentSubmitter
component is used to map the older-style names to the new ones. By default, this property is set as follows:
propertyNameReplacementMap=\ dimval.qualified_spec=Endeca.Id,\ dimval.dimension_spec=dimval.dimension_name,\ dimval.prop.category.ancestorCatalogIds=category.ancestorCatalogIds,\ dimval.prop.category.rootCatalogId=category.rootCatalogId,\ dimval.prop.displayName_es=displayName_es,\ dimval.prop.displayName_en=displayName_en,\ dimval.prop.displayName_de=displayName_de,\ dimval.prop.category.repositoryId=category.repositoryId,\ dimval.prop.category.catalogs.repositoryId=category.catalogs.repositoryId,\ dimval.prop.category.siteId=category.siteId
So, for example, when the CategoryToDimensionOutputConfig
component outputs a dimval.dimension_spec
property in the records it generates, DimensionDocumentSubmitter
converts the property name to dimval.dimension_name
before submitting the records.
The propertyNameReplacementMap
property of the DataDocumentSubmitter
component is null by default, because the new naming conventions affect only the properties of dimension value records, not data records.
flushAfterEveryRecord
A boolean that specifies whether to flush the buffer used by the connection to CAS after each record is processed. This property is set by default to false
. Setting it to true
during debugging can be helpful for determining which records are being rejected by CAS, because the errors will be isolated to specific records.
enabled
A boolean that specifies whether this component is enabled. This property is set by default to true
, but it can be set to false
to always report success without submitting records to CAS. (This is useful for debugging purposes when a CAS instance is not available.)
Reducing Logging Messages
In order to write records to the CAS record stores, the atg.endeca.index.RecordStoreDocumentSubmitter
class imports classes from the Guided Search com.endeca.itl.record
and com.endeca.itl.recordstore
packages. These classes make use of the Apache CXF framework.
Using the default CXF configuration results in a large number of informational logging messages. The volume of the messages can result in problems, such as locking up of the terminal window. Therefore, it is a good idea to reduce the number of logging messages by setting the logging level of the org.apache.cxf.interceptor.LoggingInInterceptor
and org.apache.cxf.interceptor.LoggingOutInterceptor
loggers to WARNING
.
The way to set these logging levels differs depending on your application server. See the documentation for your application for information.