Для этого в основном конфигурационном файле (/etc/ldap.slapd.conf) предусмотрен параметр index. Формат следующий:
index {attrlist | default} [pres,eq,approx,sub,none]где
- attrlist - список атрибутов (через запятую), для которых будет включена индексация
- default - используется для указания всех явно не указанных, но используемых в базе, атрибутов
- pres (present) - индекс для более быстрого определения установлен ли указанный атрибут
- eq (equality) - индекс для точного поиска указанного значения атрибута (cn=Roman Sozinov)
- approx (approximate) - индексация для быстрого поиска созвучных (по фонетике) значений (cn=smith и cn=smit)
- sub (substring) - индексация при поиске по неполным строкам (cn=Roma*)
index cnВ данном случае для cn-атрибута будут включены все методы индексации; для sn, uid и mail только eq и sub. Для всех остальных атрибутов индексация будет отключена (default none).
index sn,uid,mail eq,sub
index default none
Чтобы внести изменения в индексы, необходимо остановить работающий ldap-сервис (чтобы получить rw-контроль над базой) и запустить утилиту slapindex, обновляющую индексы, установленные для базы. В некоторых источниках советуют перед переиндексацией сделать копию базы "на всякий пожарный".
# /etc/init.d/slapd stopНе стоит слишком увлекаться индексацией, так как она требует дополнительного использования памяти и ресурсов процессора.
Stopping OpenLDAP: slapd.
# slapindex -v
...
# /etc/init.d/slapd start
Starting OpenLDAP: slapd.
Литература:
- LDAP Implementation Cookbook (IBM, 1999)
- LDAP System Administration (O'Reilly, 2003)
0 comments:
Post a Comment