13.2. 创建标准索引


这部分论述了如何使用命令行和 Web 控制台为特定属性创建存在、相等性、大约、子字符串和国际索引。
注意
当您创建新索引类型时,Directory 服务器使用此默认索引作为以后创建的每个新数据库的模板。如果您更新默认索引,则更新的设置不会应用到现有的数据库。要将新索引应用到现有数据库,请使用 dsctl db2index 命令或 cn=index,cn=tasks 任务,如 第 13.3 节 “为现有数据库创建新索引” 所述。

13.2.1. 使用命令行创建索引

注意
您无法创建新系统索引,因为系统索引在 Directory 服务器中硬编码。
使用 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)属性创建存在、相等和子字符串索引:
  1. 运行 ldapmodify 并为新索引添加 LDIF 条目:
    # ldapmodify -a -D "cn=Directory Manager" -W -p 389 -h server.example.com -x
    
    dn: cn=sn,cn=index,cn=Example1,cn=ldbm database,cn=plugins,cn=config
    changetype: add
    objectClass:top
    objectClass:nsIndex
    cn:sn
    nsSystemIndex:false
    nsIndexType:pres
    nsIndexType:eq
    nsIndexType:sub
    nsMatchingRule:2.16.840.1.113730.3.3.2.3.1
    cn 属性包含要索引的属性的名称,在本例中为 sn 属性。条目是 nsIndex 对象类的成员。nsSystemIndex 属性为 false,表示索引对目录服务器操作并不重要。多值的 nsIndexType 属性指定 presence (pres), equality (eq) 和 substring (sub) 索引。每个关键字都必须在单独的行中输入。示例中的 nsMatchingRule 属性指定 Bulgarian 协调顺序的 OID;匹配规则可以指示任何可能的值匹配,如语言或其他格式,如日期或整数。
    您可以使用 nsIndexType 属性中的关键字 none 指定没有为属性维护索引。这个示例通过将 nsIndexType 更改为 none 来禁用 Example1 数据库上的 sn 索引:
    dn: cn=sn,cn=index,cn=Example1,cn=ldbm database,cn=plugins,cn=config
    objectClass:top
    objectClass:nsIndex
    cn:sn
    nsSystemIndex:false
    nsIndexType:none
有关匹配规则及其 OID 的完整列表,请参阅 第 14.3.4 节 “使用匹配规则” 以及索引配置属性,请参阅 Red Hat Directory Server 配置、命令和文件参考
注意
在创建索引时,始终使用属性的主名称(而非属性的别名)。属性的主要名称为架构中属性列出的名字;例如,用户 ID 属性的 uid

13.2.2. 使用 Web 控制台创建索引

创建存在、相等、大约、子字符串或国际索引:
  1. 在 web 控制台中打开 Directory Server 用户界面。请参阅 第 1.4 节 “使用 Web 控制台登录到目录服务器”
  2. 选择实例。
  3. 打开 Database 菜单。
  4. 选择后缀条目。
  5. 打开 Indexes 选项卡。
  6. Add Index 按钮。
  7. 选择要索引的属性、索引类型以及可选匹配的规则。
  8. Create Index
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.