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.xml
andorder-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.Index
appends theProfileOutputConfig
to themonitoredOutputConfig
property.DCS.Search.Order.Index
appends theOrderOutputConfig
to themonitoredOutputConfig
property. When theIndexingPeriodicService
runs, theIncrementalLoader
will process queued indexing requests for each of the IOCs./atg/search/repository/BulkLoader
/atg/search/repository/IndexingPeriodicService
– Configured inDPS.Search.Index
to run every two seconds by default. All servers are configured with theIndexingPeriodicService
enabled but only indexes any IOC that has the componentenableIncrementalLoading=true
andincrementalUpdateSeconds
>
0
. As such, you should only set theincrementalUpdateSeconds
>
0
on servers that will be used for indexing.The
OrderOutputConfig.incrementalUpdateSeconds
is 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=-1
on the agent-facing server and configureincrementalUpdateSeconds>0
on the management server. Incremental indexing can be enabled on any background server that is runningDPS.Search.Index
, andDCS.Search.Order.Index
for servers.The
IndexingPeriodicService
clears any expired configuration claim locks each time it runs using thecheckExpiredConfigurationClaimsIntervalSeconds
property, which checks for expired configuration claim locks everyn
seconds. Each time theIndexingPeriodicService
runs, 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 |