Sun Java System Directory Server Enterprise Edition 6.3 管理指南

管理浏览索引

浏览索引是一种特殊索引,仅用于请求服务器端结果排序的搜索操作。《Sun Java System Directory Server Enterprise Edition 6.3 Reference》说明了浏览索引在目录服务器中的工作方式。

用于客户端搜索的浏览索引

必须手动定义用于客户端搜索结果排序的自定义浏览索引。要创建浏览索引,也称为虚拟列表视图 (Virtual List View, VLV) 索引,请使用以下过程。本部分还包括添加或修改浏览索引条目以及重新生成浏览索引的过程。

Procedure创建浏览索引

对于此过程的某些部分,可以使用 DSCC 执行此任务。有关信息,请参见目录服务控制中心界面和 DSCC 联机帮助。此过程的其他部分只能使用命令行完成。

  1. 使用 ldapmodify 命令添加新的浏览索引条目或编辑现有的浏览索引条目。

    有关说明,请参见添加或修改浏览索引条目

  2. 运行 dsconf reindex 命令以生成一组新的要由服务器维护的浏览索引。

    有关说明,请参见重新生成浏览索引

Procedure添加或修改浏览索引条目

浏览索引专用于给定基条目及其子树上的给定搜索。浏览索引配置在包含条目的后缀的数据库配置中进行定义。

  1. 为目录服务器上的每个浏览索引配置 vlvBasevlvScopevlvFilter 属性。

    这些属性用于配置搜索基、搜索范围和搜索过滤器。这些属性将使用 vlvSearch 对象类。

  2. 为每个浏览索引配置 vlvSort 属性。

    此属性指定用于对索引进行排序的属性的名称。此条目是第一个条目的子条目,并使用 vlvIndex 对象类指定要进行排序的属性以及排序顺序。

    以下示例使用 ldapmodify 命令创建浏览索引配置条目:


    $ ldapmodify -a -h host -p port -D cn=admin,cn=Administrators,cn=config -w -
    Enter bind password:
    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
  3. 要修改浏览索引配置,请编辑相应的 vlvSearch 条目或相应的 vlvIndex 条目。

  4. 要删除某个浏览索引以便服务器不再维护该浏览索引,请删除单个的 vlvIndex 条目。

    或者,如果只有一个 vlvIndex 条目,请同时删除 vlvSearch 条目和 vlvIndex 条目。

Procedure重新生成浏览索引

  1. 创建浏览索引条目之后,将为指定属性生成新的浏览索引。


    $ dsadm reindex -l -t attr-index instance-path suffix-DN
    

    此命令将扫描目录内容,并为浏览索引创建数据库文件。

    以下示例将生成您在上一部分定义的浏览索引:


    $ dsadm reindex -l -b database-name -t Browsing /local/ds \
     ou=People,dc=example,dc=com

    有关 dsadm reindex 命令的详细信息,请参见 dsadm(1M) 手册页。