浏览索引专用于给定基条目及其子树上的给定搜索。浏览索引配置在包含条目的后缀的数据库配置中进行定义。
为目录服务器上的每个浏览索引配置 vlvBase、vlvScope 和 vlvFilter 属性。
这些属性用于配置搜索基、搜索范围和搜索过滤器。这些属性将使用 vlvSearch 对象类。
为每个浏览索引配置 vlvSort 属性。
此属性指定用于对索引进行排序的属性的名称。此条目是第一个条目的子条目,并使用 vlvIndex 对象类指定要进行排序的属性以及排序顺序。
以下示例使用 ldapmodify 命令创建浏览索引配置条目:
$ ldapmodify -a -h host -p port -D cn=admin,cn=Administrators,cn=config -w - dn: cn=people_browsing_index, cn=database-name, cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvSearch cn: Browsing ou=People vlvBase: ou=People,dc=example,dc=com vlvScope: 1 vlvFilter: (objectclass=inetOrgPerson) dn: cn=Sort rev employeenumber, cn=people_browsing_index, cn=database-name,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvIndex cn: Sort rev employeenumber vlvSort: -employeenumber ^D |
vlvScope 为以下任一选项:
0(仅基条目)
1(基条目的直接子条目)
2(以基条目为根的整个子树)
vlvFilter 是客户端搜索操作中使用的 LDAP 过滤器。由于所有浏览索引条目都位于相同位置,因此您应该使用描述性的 cn 值来命名浏览索引。
每个 vlvSearch 条目都必须至少有一个 vlvIndex 条目。vlvSort 属性是属性名称列表,用于定义要排序的属性及排序顺序。属性名称前面的破折号 ( -) 表明使用相反的顺序。通过定义多个 vlvIndex 条目可以为搜索定义多个索引。您可以为上面的示例添加以下条目:
$ ldapmodify -a -h host -p port -D cn=admin,cn=Administrators,cn=config -w - dn: cn=Sort sn givenname uid, cn=people_browsing_index, cn=database-name,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvIndex cn: Sort sn givenname uid vlvSort: sn givenname uid ^D |
要修改浏览索引配置,请编辑相应的 vlvSearch 条目或相应的 vlvIndex 条目。
要删除某个浏览索引以便服务器不再维护该浏览索引,请删除单个的 vlvIndex 条目。
或者,如果只有一个 vlvIndex 条目,请同时删除 vlvSearch 条目和 vlvIndex 条目。