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
dsconfigto 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 (
*) forADDorMODIFYoperations using thechangelog-include-attributeproperty. Thechangelog-deleted-entry-include-attributeproperty is set to all attributes (*) to specify a set of attribute types that should be included in a changelog entry forDELETEoperations. Attributes specified in this list are recorded in thedeletedEntryAttrsattribute on the changelog entry when an entry is deleted. The attributesdisplayNameandemployeeNumberare indexed using theindex-include-attributeproperty.$ 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--addoption, 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
dsconfigto 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