通过添加索引,可以更快地实现检索,不过与此同时,索引将占用更多的内存,添加或者修改数据库因为需要更新索引需要的时间将更长,因此根据需要合理地添加索引。

索引语法如下:

# OLC (cn=config) form
olcDbIndex: attrlist | default indices

# indices = [pres [,approx] [,eq] [,sub] [,special]]

其具体含义可参考Appendix A - OpenLDAP: Indexing Entries,pres, approx, eq, sub分别是presence, approximate, equality, substring的缩写。

本系统使用的配置如下:

dn: olcDatabase={1}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: cn,givenName,sn,displayName,mail pres,sub,eq
-
add: olcDbIndex
olcDbIndex: uidNumber,gidNumber eq
-
add: olcDbIndex
olcDbIndex: uid eq
-
add: olcDbIndex
olcDbIndex: default eq,sub
-
add: olcDbIndex
olcDbIndex: telephonenumber

通过命令ldapmodify -Y EXTERNAL -H ldapi:/// -f ./olcDbIndex.ldif修改将配置导入,或者已完成博客通过LDAP Admin修改OpenLDAP配置一文中操作,可通过LDAP Admin软件中Tools->Import…导入该配置。

注:导入配置后,数据库将自动重建索引,无需通过slapindex。

查询命令可参考Appendix A - LDAP: Text Search Filter

参考文献:

  1. Appendix A - OpenLDAP: Indexing Entries
  2. Appendix A - LDAP: Text Search Filter
  3. LDAP OpenLDAPSetup
  4. 通过LDAP Admin修改OpenLDAP配置
文章目录