Embora a resposta do pôster original esteja resolvida, aqui está uma solução para os usuários do OpenLDAP 2.4. O OpenLDAP 2.4 não usa mais arquivos de configuração simples, mas tudo tem que ser modificado usando ldapmodify
.
Primeiro, você precisa identificar seu banco de dados em questão.
[root@ldap-server ~]# cd /etc/openldap/slapd.d/cn=config
[root@ldap-server cn=config]# ls
cn=schema olcDatabase={0}config.ldif olcDatabase={1}monitor.ldif
cn=schema.ldif olcDatabase={-1}frontend.ldif olcDatabase={2}hdb.ldif
O banco de dados aqui é olcDatabase={2}hdb.ldif
e a verificação de índices com rendimento do grep:
[root@ldap-server cn=config]# grep olcDbIndex olcDatabase\=\{2\}hdb.ldif
olcDbIndex: objectClass eq,pres
olcDbIndex: ou,cn,mail,surname,givenname eq,pres,sub
Se eu precisar adicionar, por exemplo, o índice do cartaz l
, prepararei o seguinte arquivo ldif:
[root@ldap-server ~]# cat ldap-hdb-tuning.ldif
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: ou,description,l eq,pres,sub
O passo final seria executar o arquivo com ldapmodify
.
[root@ldap-server ~]# ldapmodify -Y EXTERNAL -H ldapi:/// -D cn=config -f ldap-hdb-tuning.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
modifying entry "olcDatabase={2}hdb,cn=config"
Se você olhar em /var/lib/ldap
, verá um novo index.file chamado l.bdb
, que deve estar crescendo se você adicionar novos registros.
Note que eu não descobri ainda se a criação do índice está sendo feita rapidamente para registros existentes (atualmente estou fazendo isso agora), mas adaptarei essa resposta quando souber mais.