Indices en OpenLdap
El uso de indices en OpenLDAP es extremadamente útil para acelerar las búsquedas en el directorio. En principio tenemos cuatro variantes, ( en realidad hay más pero estos cuatro son las más comunes)
Los indices press se utilizan para acelerar las búsquedas de entradas que contienen un atributo especifico .El siguiente ejemplo de búsqueda “todas las entradas que contengan el atributo cn”, ilustraría este caso
$ ldapsearch -b “dc=insane,dc=net” -w -D “cn=Manager” ‘cn=*’
Los indices eq se usan para agilizar las búsquedas del tipo “sn = smith” (comparaciones directas) sólo se incluye la comparación de igualdad NO los comodines.
$ ldapsearch -b “dc=insane,dc=net” -w -D “cn=Manager” ‘uid=matty’
El tipo de indice sub debe utilizar en las búsquedas del timpo “sn=sm*” , búsquedas donde se suelen usar comodines, para buscar subcadenas dentro de una mayor, tenemos tres subtipos
subinitial (optimizado para “sn = s * ‘),
subany (optimizado para’ sn =* n * ‘)
subfinal (optimizado para’ sn =* s ‘)
$ ldapsearch -b “dc=insane,dc=net” -w -D “cn=Manager” ‘uid=*foo*’
Como dudo de mi capacidad para traducir correctamente el significado de los indices approx no lo hago:
approx MUST be used if use searches of the form ‘sn~=person’ (a ‘sounds-alike’ search) will be used.”
Approximate indexes are useful for speeding up seaches that look for attribute values that sound like a specific value. A good example of this is searching the directory for all first names that sound like “Amy”:
$ ldapsearch -b “dc=insame,dc=net” -w -D “cn=Manager” ‘givenName~=Amy’
Ejemplo de indizado ¿Se dice así? básico en el fichero /etc/openldap/slapd.conf de Red Hat:
index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index gecos,displayName,userPassword eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
Fuentes.
http://www.zytrax.com/books/ldap/apa/indeces.html
http://prefetch.net/blog/index.php/2007/01/27/ldap-indexes/