The order and profile search configuration is comprised of the following:
A routing component - The routing component allows you to create and administer search environments, as well as handle the live updates of the index
Indexing Output Configurations - An Indexing Output Configuration (IOC) is a component with an associated definition file. The definition file is a standard XML document that defines the repository items, such as fields, that create the search index. Separate indices are created for orders and profile, and as such, a definition document is created for each index:
profile-output-config.xmlandorder-output-config.xml.An Indexing Service - The Indexing Service tracks updates in a particular environment and passes information to the routing component to ensure the index is updated.
Indexed Items groups - The Indexed Items group defines the type of items that will be included in the index. By default, only submitted orders will be indexed.
Indexing Methods
Order and profile search support both incremental and bulk indexing. Incremental indexing occurs in real time, and as such, does not require an index deployment.
Incremental indexing is enabled by default, which is configured using the Indexing Service, to check for modifications to profiles and orders every five seconds from multiple environments. During some operations, such as modification, backup or restoration of an environment, incremental indexing is not available. During these operations, incremental updates are queued until incremental indexing is restored.
Bulk indexing, which is started from the IOC component, recreates the complete index and is performed in a temporary staging environment. When the bulk indexing job is completed, the temporary staging environment is swapped with the live environment. During the time that the bulk index is running, searches are performed in the live environment. However, incremental updates are queued and not applied until the bulk indexing job has completed and the environments are swapped.
Profile and order require separate Search projects. This allows both profiles and orders to be indexed concurrently as indexing jobs from separate search environments can be run in parallel.
Customer profile and order information is queued using IncrementalItemQueue, which obtains requests from any server and are processed on the server(s) that executes the indexing request.
Note: Set the /atg/search/repository/IncrementalLoader/ to
recordIncompleteOrderEventsfalse to enable filtering of incomplete orders.
Order and Profile Search Components
The following components from DAF.Search.Index are used for order and profile searches. For additional information on these components, refer to the ATG Search Installation and Configuration Guide.
/atg/search/repository/IncrementalItemQueue/atg/search/repository/IncrementalItemQueueRepository/atg/search/repository/ConfigStatePersister/atg/search/repository/ConfigAndRepositoryPersister/atg/search/repository/IncrementalLoader-DPS.Search.Indexappends theProfileOutputConfigto themonitoredOutputConfigproperty.DCS.Search.Order.Indexappends theOrderOutputConfigto themonitoredOutputConfigproperty. When theIndexingPeriodicServiceruns, theIncrementalLoaderwill process queued indexing requests for each of the IOCs./atg/search/repository/BulkLoader/atg/search/repository/IndexingPeriodicService– Configured inDPS.Search.Indexto run every two seconds by default. All servers are configured with theIndexingPeriodicServiceenabled but only indexes any IOC that has the componentenableIncrementalLoading=trueandincrementalUpdateSeconds>0. As such, you should only set theincrementalUpdateSeconds>0on servers that will be used for indexing.The
OrderOutputConfig.incrementalUpdateSecondsis set to 30 by default to ensure that at least one server will process the queued incremental indexing requests. In a production environment, it is recommended that you setincrementalUpdateSeconds=-1on the agent-facing server and configureincrementalUpdateSeconds>0on the management server. Incremental indexing can be enabled on any background server that is runningDPS.Search.Index, andDCS.Search.Order.Indexfor servers.The
IndexingPeriodicServiceclears any expired configuration claim locks each time it runs using thecheckExpiredConfigurationClaimsIntervalSecondsproperty, which checks for expired configuration claim locks everynseconds. Each time theIndexingPeriodicServiceruns, it checks if the time elapsed has exceeded this interval
The following components are also used in the order and profile search process:
Component | Description |
|---|---|
| The profile IOC. Defined in the |
| The order IOC. Defined in the |
| A special document submitter that updates the index in near real time. This component is defined in the |
| Uses the |
| Uses the |
| Removes non-alpha-numeric characters from the indexed meta property. Used to strip white space and punctuation from |

