13.2. Creating Standard Indexes
This section describes how to create presence, equality, approximate, substring, and international indexes for specific attributes using the command line and the web console.
Note
When you create a new index type, Directory Server uses this default index as a template for each new database that will be created in future. If you update the default index, the updated settings are not applied to existing databases. To apply a new index to an existing database, use the
dsctl db2index
command or a cn=index,cn=tasks
task, as described in Section 13.3, “Creating New Indexes to Existing Databases”.
13.2.1. Creating Indexes Using the Command Line
Note
You cannot create new system indexes because system indexes are hard-coded in Directory Server.
Use
ldapmodify
to add the new index attributes to your directory.
- To create a new index that will become one of the default indexes, add the new index attributes to the
cn=default indexes,cn=config,cn=ldbm database,cn=plugins,cn=config
entry. - To create a new index for a particular database, add it to the
cn=index,cn=
database_name,cn=ldbm database,cn=plugins,cn=config
entry, wherecn=
database_name corresponds to the name of the database.
Note
Avoid creating entries under
cn=config
in the dse.ldif
file. The cn=config
entry in the dse.ldif
configuration file is not stored in the same highly scalable database as regular entries. As a result, if many entries, particularly entries that are likely to be updated frequently, are stored under cn=config
, performance will probably suffer. Although we recommend you do not store simple user entries under cn=config
for performance reasons, it can be useful to store special user entries such as the Directory Manager entry or replication manager (supplier bind DN) entry under cn=config
since this centralizes configuration information.
For information on the LDIF update statements required to add entries, see Section 3.1.4, “Updating a Directory Entry”.
For example, to create presence, equality, and substring indexes for the
sn
(surname) attribute in the Example1
database:
- Run
ldapmodify
and add the LDIF entry for the new indexes:# ldapmodify
-a
-D "cn=Directory Manager" -W -p 389 -h server.example.com -x dn: cn=sn,cn=index,cn=Example1,cn=ldbm database,cn=plugins,cn=config changetype: add objectClass:top objectClass:nsIndex cn:sn nsSystemIndex:false nsIndexType:pres nsIndexType:eq nsIndexType:sub nsMatchingRule:2.16.840.1.113730.3.3.2.3.1Thecn
attribute contains the name of the attribute to index, in this example thesn
attribute. The entry is a member of thensIndex
object class. ThensSystemIndex
attribute isfalse
, indicating that the index is not essential to Directory Server operations. The multi-valuednsIndexType
attribute specifies the presence (pres
), equality (eq
) and substring (sub
) indexes. Each keyword has to be entered on a separate line. ThensMatchingRule
attribute in the example specifies the OID of the Bulgarian collation order; the matching rule can indicate any possible value match, such as languages or other formats like date or integer.You can use the keywordnone
in thensIndexType
attribute to specify that no indexes are to be maintained for the attribute. This example temporarily disables thesn
indexes on theExample1
database by changing thensIndexType
tonone
:dn: cn=sn,cn=index,cn=Example1,cn=ldbm database,cn=plugins,cn=config objectClass:top objectClass:nsIndex cn:sn nsSystemIndex:false nsIndexType:none
For a complete list of matching rules and their OIDs, see Section 14.3.4, “Using Matching Rules”, and for the index configuration attributes, see the Red Hat Directory Server Configuration, Command, and File Reference.
Note
Always use the attribute's primary name (not the attribute's alias) when creating indexes. The primary name of the attribute is the first name listed for the attribute in the schema; for example,
uid
for the user ID attribute.
13.2.2. Creating Indexes Using the Web Console
To create presence, equality, approximate, substring, or international indexes:
- Open the Directory Server user interface in the web console. See Section 1.4, “Logging Into Directory Server Using the Web Console”.
- Select the instance.
- Open themenu.
- Select the suffix entry.
- Open the Indexes tab.
- Click thebutton.
- Select the attribute to index, the type of index, and optionally a matching rule.
- Click.