Indexing the LDAP changelog
The PingDirectory server supports attribute indexing in the Changelog Backend to allow Get Changelog Batch requests to filter results that include only changes involving specific attributes.
Normally, the PingDirectory server that receives a request must iterate over the whole range of changelog entries and then match entries based on search criteria for inclusion in the batch. The majority of this processing also involves determining whether or not the changelog entry includes changes to a particular attribute or set of attributes. Using changelog indexing, client applications can dramatically speed up throughput when targeting the specific attributes.
You can configure attribute indexing using the index-include-attribute
and index-exclude-attribute
properties on the Changelog Backend. The properties can accept the specific attribute name or special LDAP values *
to specify all user attributes or +
to specify all operational attributes.
To determine if the PingDirectory server supports this feature, view the Root DSE for the following entry.
supportedFeatures: 1.3.6.1.4.1.30221.2.12.3
Indexing a changelog attribute
Steps
-
Use
dsconfig
to set attribute indexing on an attribute in the changelog backend.Example:
Index different attributes by adding specific properties. In the following example, the command enables the Changelog Backend and sets the backend to include all user attributes (
) for
ADD
orMODIFY
operations using thechangelog-include-attribute
property. Thechangelog-deleted-entry-include-attribute
property is set to all attributes () to specify a set of attribute types that should be included in a changelog entry for
DELETE
operations. Attributes specified in this list are recorded in thedeletedEntryAttrs
attribute on the changelog entry when an entry is deleted. The attributesdisplayName
andemployeeNumber
are indexed using theindex-include-attribute
property.$ bin/dsconfig set-backend-prop --backend-name changelog \ --set "enabled:true" \ --set "changelog-include-attribute:*" \ --set "changelog-deleted-entry-include-attribute:*" \ --set "index-include-attribute:displayName" \ --set "index-include-attribute:employeeNumber"
-
To add another attribute to index, use the
dsconfig
--add
option, which adds the attribute to an existing configuration setting.Example:
$ bin/dsconfig set-backend-prop --backend-name changelog \ --add "index-include-attribute:cn"
Excluding attributes from indexing
Steps
-
Use
dsconfig
to set attribute indexing on all user attributes in the changelog backend.Example:
The following command includes all user attributes except the description and location attributes.
$ bin/dsconfig set-backend-prop --backend-name changelog \ --set "index-include-attribute:*" \ --set "index-exclude-attribute:description \ --set "index-exclude-attribute:location