13.2. 创建标准索引
本节论述了如何使用命令行和 Web 控制台为特定属性创建存在、相等、大约、子字符串和国际索引。
注意
当您创建新索引类型时,Directory 服务器使用此默认索引作为以后要创建的每个新数据库的模板。如果您更新默认索引,更新的设置不会应用到现有数据库。要将新索引应用到现有数据库,请使用 dsctl db2index 命令或 cn=index,cn=tasks 任务,如 第 13.3 节 “创建新索引到现有数据库” 所述。
13.2.1. 使用命令行创建索引 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
注意
您无法创建新系统索引,因为系统索引在目录服务器中硬编码。
使用 ldapmodify 在您的目录中添加新索引属性。
- 要创建将成为默认索引之一的新索引,请将新的索引属性添加到 cn=default index ,cn=config,cn=ldbm database,cn=plugins,cn=config 条目。
- 要为特定数据库创建新索引,请将其添加到 cn=index,cn=database_name,cn=ldbm database,cn=plugins,cn=config 条目,其中 cn=database_name 对应于数据库的名称。
注意
避免在
dse.ldif
文件中创建 cn=config 下的条目。dse.ldif
配置文件中的 cn=config 条目不存储在与常规条目相同的高度可扩展数据库中。因此,如果很多条目(特别是可能经常更新的条目)保存在 cn=config 下,性能将会受到影响。虽然因为性能的原因,我们建议不要存储 cn=config 下的简单用户条目,但在 cn=config 下存储特殊用户条目(如 Directory Manager 条目或复制管理器 (supplier bind DN)条目)条目会很有用,。
有关添加条目所需的 LDIF 更新语句的详情,请参考 第 3.1.4 节 “更新目录条目”。
例如,要在 Example1 数据库中为
sn
(surname)属性创建 presence, equality, 和 substring 索引:
- 运行 ldapmodify 并为新索引添加 LDIF 条目:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow cn
属性包含要索引的属性的名称,在本例中为sn
属性。该条目是 nsIndex 对象类的成员。nsSystemIndex 属性为 false,这表示索引对目录服务器操作并不重要。多值的 nsIndexType 属性指定 presence (pres), equality (eq) 和 substring (sub) 索引。每个关键字必须在单独的行中输入。示例中的 nsMatchingRule 属性指定 Bulgarian 顺序的 OID;匹配的规则可以指示任何可能的值匹配,如日期或整数等语言或其他格式。您可以使用 nsIndexType 属性中的 keyword none 来指定要为属性维护任何索引。这个示例通过将 nsIndexType 改为 none 来临时禁用 Example1 数据库上的sn
索引:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
有关匹配规则及其 OID 的完整列表,请参阅 第 14.3.4 节 “使用匹配规则” 以及索引配置属性,请参阅 Red Hat Directory Server 配置、命令和文件参考。
注意
在创建索引时,始终使用属性的主名称(而不是属性的别名)。属性的主要名称为 schema 中的属性列出的第一个名称;例如,user ID 属性的 uid。
13.2.2. 使用 Web 控制台创建索引 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
创建存在、相等、大约、子字符串或国际索引:
- 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录目录服务器”。
- 选择实例。
- 打开菜单。
- 选择后缀条目。
- 打开 Indexes 选项卡。
- 点按钮。
- 选择要索引的属性、索引类型以及可选的匹配规则。
- 点。