第 1 章 定义适用于所有新创建的数据库的默认索引
Directory 服务器中的默认索引定义要索引的一组属性。当您创建新数据库时,目录服务器会将默认索引属性从 cn=default 索引,cn=config,cn=ldbm database,cn=plugins,cn=config
条目复制到特定于数据库的 cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config
条目。
注意
目录服务器不会将默认索引中的更改应用到现有数据库。
1.1. 不同的索引类型
目录服务器将每个索引属性的索引存储在实例的数据库目录中的单独的数据库文件中。例如,sn
属性的索引存储在 /var/lib/dirsrv/slapd-instance_name/db/database_name/sn.db
文件中。如果 Directory 服务器为属性维护不同的索引,则每个索引文件可以包含多个索引类型。
目录服务器支持以下索引类型:
-
存在
索引
(前面 )是包含特定属性的条目列表。例如,当客户端经常执行搜索时,请使用此类型,如attribute=mail
。 -
平等索引(
q
)改进了搜索包含特定属性值的条目。例如,cn
属性上的等号索引可以更快地搜索cn=first_name last_name
。 -
大约索引(
approx
)可实现高效的大概或像声音的搜索。例如,搜索cn~=first_name last_name
,cn~=first_name
, 或cn~=first_nam
(请注意拼写错误)将返回条目cn=first_name X last_name
。请注意,目录服务器中的 metaphone phonetic 算法只支持 US-ASCII 字母。因此,只使用英语值进行大约索引。 -
子字符串索引(
sub
)是维护的昂贵索引,但它允许对条目中的子字符串进行高效搜索。子字符串索引限制为每个条目至少三个字符。例如,搜索telephoneNumber suppress555*
返回目录中的所有条目,其值为telephoneNumber
属性中包含555
。 - 国际索引加快搜索国际目录中的信息。创建国际索引的过程与创建常规索引的过程类似,但它通过关联对象标识符(OID)和要索引的属性来应用匹配的规则。