Red Hat Directory Server 8.0 Administrator's Guide
Managing Indexes
Indexing makes searching for and retrieving information easier by classifying and organizing
attributes or values. This chapter describes the searching algorithm itself, placing indexing
mechanisms in context, and then describes how to create, delete, and manage indexes.
1. About Indexes
This section provides an overview of indexing in Directory Server. It contains the following
topics:
• Section 1.1, “About Index Types”
• Section 1.2, “About Default, System, and Standard Indexes”
• Section 1.3, “Overview of the Searching Algorithm”
• Section 1.5, “Balancing the Benefits of Indexing”
1.1. About Index Types
Indexes are stored in files in the directory's databases. The names of the files are based on the
indexed attribute, not the type of index contained in the file. Each index file may contain multiple
types of indexes if multiple indexes are maintained for the specific attribute. For example, all
indexes maintained for the common name attribute are contained in the cn.db4 file.
Directory Server supports the following types of index:
•
Presence index (pres) contains a list of the entries that contain a particular attribute, which is
very useful for searched. For example, it makes it easy to examine any entries that contain
access control information. Generating an aci.db4 file that includes a presence index
efficiently performs the search for ACI=* to generate the access control list for the server.
The presence index is not used for base object searches.
•
Equality index (eq) improves searches for entries containing a specific attribute value. For
example, an equality index on the cn attribute allows a user to perform the search for
cn=Babs Jensen far more efficiently.
•
Approximate index (approx) is used for efficient approximate or sounds-like searches. For
example, an entry may include the attribute value cn=Robert E Lee. An approximate search
would return this value for searches against cn~=Robert Lee, cn~=Robert, or cn~=Lee.
Similarly, a search against l~=San Fransisco (note the misspelling) would return entries
including l=San Francisco.
Chapter 10.
363