13.7.6. コマンドラインから参照インデックスの削除
コマンドラインから参照インデックスまたは仮想リストビュー(VLV)インデックスを削除するには、2 つの手順を実行します。
- ldapdelete を使用して、参照インデックスエントリーを削除するか、既存の参照インデックスエントリー(「参照インデックスエントリーの削除」)を編集します。
- vlvindex スクリプトを実行して、サーバーが維持する参照インデックスの新しいセットを生成します(「vlvindex スクリプトの実行」)。または、cn=tasks,cn=config (「cn=tasks エントリーを使用した参照インデックスの作成」)で適切なタスクを起動します。
アルファベット順の参照インデックスと仮想リストビューの実際のエントリーは同じです。以下のセクションでは、参照インデックスを削除する手順を説明します。
13.7.6.1. 参照インデックスエントリーの削除
ldapdelete コマンドラインユーティリティーを使用して、インデックスエントリーの参照エントリーを削除するか、既存の参照インデックスエントリーを編集します。特定のデータベースの参照インデックスを削除するには、cn =index,cn= database_name,cn= ldbm database,cn=plugins,cn=config エントリーから参照しているインデックスエントリーを削除します。cn=database_name はデータベースの名前に対応します。
たとえば、ou=People,dc=example,dc=com エントリーで ldapsearch 操作の参照インデックスがあります。検索ベース が ou=People,dc=example,dc=com で、検索フィルターは (|(objectclass=*)(objectclass=ldapsubentry)) で、スコープは 1 で、返された属性のソート順序は
cn
、givenname
、o
、ou
、sn
です。
この参照インデックスを削除するには、対応する参照インデックスエントリーを 2 つ削除します。
dn: cn=MCC ou=People dc=example dc=com,cn=userRoot,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvSearch cn: MCC ou=People dc=example dc=com vlvBase: ou=People,dc=example,dc=com vlvScope: 1 vlvFilter: (|(objectclass=*)(objectclass=ldapsubentry)) dn: cn=by MCC ou=People dc=example dc=com,cn=MCC ou=People dc=example dc=com,cn=userRoot,cn=ldbm database,cn=plugins,cn=config objectClass: top objectClass: vlvIndex cn: by MCC ou=People dc=example dc=com vlvSort: cn givenname o ou sn
両方のエントリーを指定して ldapdelete を実行します。
# ldapdelete -D "cn=Directory Manager" -W -p 389 -h server.example.com -x "cn=MCC ou=People dc=example dc=com,cn=userRoot,cn=ldbm database,cn=plugins,cn=config" "cn=by MCC ou=People dc=example dc=com,cn=MCC ou=People dc=example dc=com,cn=userRoot,cn=ldbm database,cn=plugins,cn=config"
2 つの参照インデックスエントリーを削除すると、参照インデックスは Example1 データベースで維持されなくなります。