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.xml
is 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.Index
appends theProfileOutputConfig
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
set toenabled
. However, theIndexingPeriodicService
only indexes an 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
ProfileOutputConfig.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
.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 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 |