The 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. The definition document
profile-output-config.xmlis created for the profile index.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.
Indexing Methods
Profile search supports both incremental and bulk indexing. Incremental indexing occurs in real time, and as such, does not require an index deployment.
Incremental indexing, which is enabled by default, checks for modifications to profiles 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.
Customer profile information is queued using incrementalItemQueue, which obtains requests from any server but are processed on the server that executed the indexing request.
Profile Search Components
The following components from DAF.Search.Index are used for profile searches.
/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. 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 theIndexingPeriodicServiceset toenabled. However, theIndexingPeriodicServiceonly indexes an IOC that has the componentenableIncrementalLoading=trueandincrementalUpdateSeconds>0. As such, you should only set theincrementalUpdateSeconds>0on servers that will be used for indexing.The
ProfileOutputConfig.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.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 profile search process:
Component | Description |
|---|---|
| The profile IOC. Defined in the |
| A special document submitter that updates the index in near real time. This component is defined in the |
| Uses the |
| Removes non-alpha-numeric characters from the indexed meta property. Used to strip white space and punctuation from |

