12.9. Indexing Your Database
Problem
You noticed there are some indexing options in slapd.conf—what's that all about? Will they make your directory go faster?
Solution
Indeed they will. Indexing attributes that are frequently searched for will speed up performance. Here are some sample indexes for different uses:
#always have this one index objectClass eq #for common name searches index cn,sn,uid pres,eq,sub #email address searches index mail pres,eq
These go into slapd.conf.
Discussion
If you change the index settings while slapd is running, an internal task will
automatically run and generate the new indexes. You don't need to explicitly regenerate the
indexes. However, if slapd is
stopped before the indexing task is finished, you'll have to manually
generate the new indexes with the slapindex command:
# /etc/init.d/slapd stop (Debian)
# /etc/init.d/ldap stop (Fedora)
# slapindexWhen it's finished, restart OpenLDAP. If you have a large directory, this process will take a few minutes.
Indexing increases the size of your id2entry file. The larger your database and the more indexes you have, the bigger this file will grow. This post from the OpenLDAP-devel list (http://www.openldap.org/lists/openldap-devel/200510/msg00131.html) says:
For my test database with 360 MB input LDIF and 285,000 entries and 15 indexed attributes, using a 512 MB BDB cache… The resulting id2entry database is about 800 MB; with all indexing the total size is around 2.1 GB.
The syntax for indexing is:
index [attributes] ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access