13.3. 创建新索引到现有数据库
了解如何在 Directory Server 上启动索引操作。您必须手动创建索引,因为 Directory 服务器不会自动索引数据库。
重要
在重新生成索引前,搜索继续,但可能会返回不正确的或不一致的结果。
13.3.1. 创建索引,但实例正在运行 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
13.3.1.1. 使用 dsconf 后端索引 reindex 命令创建索引 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
在实例运行时重新创建数据库的索引:
dsconf -D "cn=Directory Manager" ldap://server.example.com backend index reindex database_name
# dsconf -D "cn=Directory Manager" ldap://server.example.com backend index reindex database_name
13.3.1.2. 使用 cn=tasks Entry 创建索引 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Directory Server 配置中的 cn=tasks,cn=config 条目是服务器用来管理任务的临时条目的容器条目。要启动索引操作,请在 cn=index,cn=tasks,cn=config 条目中创建一个任务。
使用
ldapadd 工具来添加新的索引任务。例如,添加一个任务,该任务在 userRoot 数据库中为 cn 属性创建 presence 索引:
任务完成后,该条目会从目录配置中删除。
有关 cn=index,cn=tasks,cn=config 条目的详情,请查看 Red Hat Directory Server 配置、命令和文件参考 中的 cn=index 部分。
13.3.2. 创建索引,其中包含实例离线 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
创建索引条目或在现有索引条目中添加额外的索引类型后,请使用 dsconf db2index 命令:
- 关闭实例:
dsctl instance_name stop
# dsctl instance_name stopCopy to Clipboard Copied! Toggle word wrap Toggle overflow - 重新创建索引:
- 对于数据库中的所有索引,请运行:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 对于特定属性索引,请运行:
dsctl instance_name db2index userRoot --attr aci cn givenname
# dsctl instance_name db2index userRoot --attr aci cn givennameCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下命令为 aci、cn 和 givenname 属性重新创建索引。请注意,如果没有指定数据库,命令会为所有属性重新创建索引。
- 启动实例:
dsctl instance_name start
# dsctl instance_name startCopy to Clipboard Copied! Toggle word wrap Toggle overflow