Oracle® Fusion Middleware Oracle Directory Server Enterprise Edition管理者ガイド 11g リリース1 (11.1.1.7.0) B72439-01 |
|
![]() 前 |
![]() 次 |
書籍の索引と同様に、Directory Serverの索引を利用することで、検索文字列とディレクトリの内容への参照を関連付け、検索が速くなります。
索引のタイプと索引のチューニングについては、Oracle Directory Server Enterprise Editionのリファレンスの第9章のDirectory Serverの索引付けに関する説明を参照してください。
この章の内容は、次のとおりです。
この項では、特定の属性に対する索引の管理方法について説明します。この項には、索引の作成、変更および削除に関する情報が含まれます。仮想リスト表示(VLV)操作に固有の手順は、「参照索引の管理」を参照してください。
dsconf info
コマンドを実行して、索引の作成が必要な属性をチェックすることもできます。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
既存の索引およびそのプロパティをリストするには、次のコマンドを使用します。
$ dsconf list-indexes -h host -p port -v suffix-DN
注意: 新しいシステム索引は作成できません。Directory Serverで内部的に定義される既存のシステム索引のみが維持されます。 |
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
新しい索引構成を作成します。
dsconf create-index
コマンドライン・ユーティリティを使用して、索引を作成する属性を指定することにより、新しい索引情報を構成します。
たとえば、preferredLanguage
属性の索引エントリを作成するには、次のコマンドを使用します。
$ dsconf create-index -h host -p port dc=example,dc=com preferredLanguage
注意: コマンド 索引の作成時には、常に属性の基本名を使用します。属性の別名は使用しないでください。属性の基本名とは、スキーマの属性にリストされる最初の名前です。たとえば、 |
dsconf set-index-prop
コマンドを使用して、索引のプロパティを設定します。
dsconf create-index
コマンドにより、デフォルト・プロパティで索引が作成されます。これらのプロパティを変更するには、dsconf set-index-prop
コマンドを使用します。索引のプロパティ変更の詳細は、「索引を変更するには:」を参照してください。
注意: 索引の構成を変更する場合、その変更を反映させて索引を再度使用するには、索引の再作成が必要です。 |
索引ファイルを生成します。
「索引を生成するには:」を参照してください。
索引を作成するすべてのサーバーで、前述の手順を繰り返します。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
索引のプロパティを変更します。
$ dsconf set-index-prop -h host -p port suffix-DN attr-name property:value
たとえば、preferredLanguage
索引の近似索引approx-enabled
を有効にするには、次のコマンドを使用します。
$ dsconf set-index-prop -h host -p port dc=example,dc=com \ preferredLanguage approx-enabled:on
各索引の次のプロパティを変更できます。
eq-enabled
等価性
pres-enabled
実在性
sub-enabled
サブストリング
変更する可能性があるプロパティの1つに、オプションのnsMatchingRule
属性があります。この属性には、サーバーが把握するあらゆるマッチング・ルールのOIDが含まれます。これは、多言語化された索引のための言語照合順序と、CaseExactMatch
などの他のマッチング・ルールのOIDを有効にします。サポートされるロケールとそれらに関連付けられた照合順序のOIDのリストについては、Oracle Directory Server Enterprise Editionのリファレンスを参照してください。
索引構成属性の詳細は、Oracle Directory Server Enterprise Editionのリファレンスを参照してください。
注意: 索引の構成を変更する場合、その変更を反映させて索引を再度使用するには、索引の再作成が必要です。
$ dsconf info Instance path : /local/dsInst Global State : read-write Host Name : hostname Port : port Secure port : secure-port Total entries : 160 Server version : 11.1.1.6 Suffixes : dc=example,dc=com No active tasks dc=example,dc=com ================= Attribute to reindex : cn uid |
新しい索引を再生成します。
「索引を生成するには:」を参照してください。
変更した属性の索引を含むすべてのサーバーに対し、前述の手順を繰り返します。
次の手順では、索引ファイルを生成して、新規または変更後の索引を検索できるようにします。属性の索引構成を変更する場合、その属性をフィルタとして含むすべての検索の索引が作成されるとはかぎりません。その属性を含む検索が確実に実行されるようにするには、次の手順のコマンドを使用して、属性の索引構成を作成または変更するたびに、既存の索引を再生成します。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
次のいずれかの方法で索引ファイルを生成します。
新しい索引ファイルをオンラインで生成します。
$ dsconf reindex -h host -p port [-t attr] suffix-DN
-t
は、すべての属性ではなく、指定された属性のみ索引を再作成することを指定します。
たとえば、preferredLanguage
索引を再生成するには、次を入力します。
$ dsconf reindex -h host -p port -t preferredLanguage dc=example,dc=com
dsconf reindex
コマンドを実行中でも、接尾辞の内容はサーバー経由で使用できます。ただし、コマンドが完了するまで検索の索引は作成されません。索引の再作成はリソースを大量に消費するタスクであり、サーバーでの他の操作のパフォーマンスに影響する可能性があります。
新しい索引ファイルをオフラインで生成します。
$ dsadm reindex -t attr instance-path suffix-DN
たとえば、preferredLanguage
索引を再生成するには、次を入力します。
$ dsadm reindex -t preferredLanguage /local/dsInst dc=example,dc=com
接尾辞の再初期化により、オフラインですべての索引を迅速に再生成します。
接尾辞を初期化した場合、すべての索引ファイルは自動的に再生成されます。ディレクトリのサイズにもよりますが、通常、接尾辞の再初期化は複数の属性の索引再作成よりも高速となります。ただし、初期化中は接尾辞を使用できません。詳細は、「再初期化による接尾辞の索引再作成」を参照してください。
索引の解析では、特にフィルタで指定された値など、ユーザーのリクエストから検索フィルタの使用パターンを収集し、さらに索引ファイル内でそれらの値を調べることが必要となります。内部的にまたはユーザーにより生成された検索リクエストが処理されると、最初のフェーズで返す可能性のあるエントリを検出するために索引が使用されます。検索フィルタにもよりますが、指定された属性のいずれかの索引で一致するエントリが多すぎる場合(ALLID)、その検索では索引作成なしとなります(アクセス・ログ内のnotes=U
)。いずれの場合でも、収集されたすべてのエントリ(またはDIT全体)は、実際に検索結果を返すためのフィルタと一致しています。
注意:
|
dsconf analyze-index-filters
コマンドが有効な場合、Directory Server検索フィルタがその統計とともに表示されます。
次のコマンドを使用して、索引フィルタ・アナライザを有効にします。
$ dsconf enable-index-filter-analyzer [--max-entries INT] SUFFIX_DN
たとえば、o=example.com
で索引フィルタ・アナライザを有効にするには、次のコマンドを実行します。
$ dsconf enable-index-filter-analyzer -p port-number o=example.com $ dsconf get-suffix-prop -p port-number o=example.com \ index-filter-analyzer-enabled index-filter-analyzer-max-entries index-filter-analyzer-enabled : on index-filter-analyzer-max-entries : 2000
索引フィルタを解析して、索引の再作成が必要な索引を把握します。
$ dsconf analyze-index-filters -p port-number SUFFIX_DN
出力には、索引の再作成が必要なすべての属性、索引フィルタの使用に関する統計、ヒット数およびallids
ヒット数が表示されます。パフォーマンスを向上させるため、この出力に基づいて、all-ids-threshold
プロパティを変更するか、索引を作成することにより、索引を様々に構成できます。
$ dsconf analyze-index-filters -p port-number o=example.com
Observations started at Nov 13, 2008 12:01:29 PM
Total number of search requests : 8
Total number of Allids : 7
filter Type #allids/#hits Threshold Max matching Additional info
entries
------------------- ---- ------------- --------- ------------ ---------------
(departmentNumber eq 1/1 2 "departmentNumber"
=9415) is not indexed
(objectClass eq 1/1 *4000 10000 To investigate
=inetOrgPerson)
(objectClass=*) pres 1/1 10006 "pres" type is
disabled for
"objectClass"
system index
(roomNumber=*) pres 1/1 10000 "roomNumber" is
not indexed
(roomNumber=1*) eq 1/1 4071 "roomNumber" is
not indexed
(telephoneNumber=*) pres 2/2 *4000 10000 To investigate
(telephoneNumber=1*) eq 0/1 4000 10000
## * indicates thresholds which have been crossed.
No attributes need to be reindexed
Use "dsconf set-index-prop o=example.com ATTR_NAME..." to set the allids threshold
value and to take benefit of indexes.
表示されるフィルタは、次の情報を含む基本的なフィルタ要素です。
処理中に使用されるタイプ
フィルタ要素の使用回数および索引の値がAllids
となった回数
注意: 権限が不十分な場合、または検索タイプの構成が変更された場合、 複合フィルタでは、それらの基本要素に分割され、全体としては表示されません。 |
出力の例では、次の情報が表示されます。
いくつかの索引の値がAllids
である。
いくつかの属性は索引が作成されていない(roomNumber
、departmentNumber
)。
合計4071
のエントリがroomNumber=1*
フィルタと一致している。
いくつか索引が一部のフィルタの使用に合うように構成されている(telephoneNumber=1*
)。
属性roomNumber
の新しい索引を作成します。
$ dsconf create-index -p port-number o=example.com roomNumber
analyze-index-filters
コマンドを再度実行して、ステータスをチェックします。
$ dsconf analyze-index-filters -p port-number o=example.com
Observations started at Nov 13, 2008 12:01:29 PM
Total number of search requests : 9
Total number of Allids : 8
filter Type #allids/#hits Threshold Max matching Additional info
entries
-------------------- ---- ------------- --------- ------------ -----------------
(departmentNumber eq 1/1 2 "departmentNumber"
=9415) is not indexed
(objectClass eq 1/1 *4000 10000 To investigate
=inetOrgPerson)
(objectClass=*) pres 1/1 10006 "pres" type is
disabled for
"objectClass"
system index
(roomNumber=*) pres 1/1 *4000 10000 To investigate
(roomNumber=1*) eq 1/1 *4000 4071 To investigate
(telephoneNumber=*) pres 2/2 *4000 10000 To investigate
(telephoneNumber=1*) eq 0/1 4000 10000
## * indicates thresholds which have been crossed.
Attributes to reindex : roomNumber
Use "dsconf reindex --attr ATTR_NAME... o=example.com" to reindex.
Use "dsconf set-index-prop o=example.com ATTR_NAME..." to set the allids
threshold value and to take benefit of indexes.
必要に応じて、出力の最後に示される適切な手順に従います。
索引フィルタ・アナライザを再起動して、最新の索引の更新を反映させます。
索引フィルタ・アナライザを再起動するには、disable-index-filter-analyzer
サブコマンドを使用してアナライザを無効にし、enable-index-filter-analyzer
サブコマンドを使用して再度アナライザを起動します。
注意: 監視はパフォーマンスに影響を及ぼします。監視用に構成されたフィルタの最大数に基づいて、大量のメモリー・リソースも必要になります。
Directory Serverでは検索の最適化が試みられるので、複合フィルタの評価時には、すべての要素を処理できません。アクセス・ログ内の表示内容と、複合フィルタおよびその構成要素が1対1で対応することは期待しないでください。 |
関連項目:
詳細は、dsconfに関する説明を参照してください。
dsconf analyze-index-filters
コマンドを使用して、最もよく使用されるフィルタとそれらの動作を収集します。一方で、索引ファイル内に出現したデータを把握するには、dsadm analyze-indexes
を使用して、索引ファイルのスナップショットを取得します。
属性の索引を解析する前には、サーバーを停止する必要があります。
$ dsadm stop INSTANCE_PATH
次のコマンドを使用して、属性の索引を解析します。
$ dsadm analyze-indexes [-bRi] [-o FILE] INSTANCE_PATH SUFFIX_DN
たとえば、接尾辞o=example.com
の属性の索引を解析するには、次のコマンドを実行します。
$ dsadm analyze-indexes /local/myinst o=example.com This operation may take a long time and generate important amounts of data Do you want to continue [y/n]? y Generating raw index data, please wait... Raw index data available in file '/local/myinst/logs/db_stat_example%2ecom' Index Type Total Keys ALLIDs 95% 90% 80% --------------- --------- ---------- ------ --- --- --- aci PRESENCE 1 0 0 0 0 ancestorid EQUALITY 6 6 0 0 0 cn EQUALITY 200000 0 0 0 0 cn SUBSTRING 14828 15 0 0 0 entrydn EQUALITY 100006 0 0 0 0 givenName EQUALITY 8605 0 0 0 0 givenName SUBSTRING 4762 4 0 0 0 givenName PRESENCE 1 1 0 0 0 mail EQUALITY 100000 0 0 0 0 mail SUBSTRING 14975 26 1 3 2 mail PRESENCE 1 1 0 0 0 nsuniqueid EQUALITY 100007 0 0 0 0 numsubordinates PRESENCE 1 0 0 0 0 objectclass EQUALITY 7 4 0 0 0 parentid EQUALITY 6 5 0 0 0 sn EQUALITY 100000 0 0 0 0 sn SUBSTRING 12993 0 0 0 0 telephoneNumber EQUALITY 99924 0 0 0 0 telephoneNumber SUBSTRING 1106 24 0 0 0 telephoneNumber PRESENCE 1 1 0 0 0 uid EQUALITY 200000 0 0 0 0 uid PRESENCE 1 1 0 0 0 aci PRESENCE ============ ALLIDs keys : 0 / 1 ancestorid EQUALITY =================== ALLIDs keys : 6 / 6 [1] [2] [3] [4] [5] [6] cn EQUALITY =========== ALLIDs keys : 0 / 200000 cn SUBSTRING ============ ALLIDs keys : 15 / 14828 [100] [101] [102] [103] [104] [105] [106] [107] [108] [109] [^us] [er1] [r10] [ser] [use] entrydn EQUALITY ================ ALLIDs keys : 0 / 100006 givenName EQUALITY ================== ALLIDs keys : 0 / 8605 givenName SUBSTRING =================== ALLIDs keys : 4 / 4762 [^ma] [ie$] [na$] [ne$] givenName PRESENCE ================== ALLIDs keys : 1 / 1 [pres] mail EQUALITY ============= ALLIDs keys : 0 / 100000 mail SUBSTRING ============== ALLIDs keys : 26 / 14975 [.co] [0@e] [1@e] [2@e] [3@e] [4@e] [5@e] [6@e] [7@e] [8@e] [9@e] [@ex] [^ma] [amp] [com] [ell] [exa] [e.c] [ie_] [le.] [mar] [mpl] [na_] [ne_] [om$] [ple] [xam] mail PRESENCE ============= ALLIDs keys : 1 / 1 [pres] nsuniqueid EQUALITY =================== ALLIDs keys : 0 / 100007 numsubordinates PRESENCE ======================== ALLIDs keys : 0 / 1 objectclass EQUALITY ==================== ALLIDs keys : 4 / 7 [inetorgperson] [organizationalperson] [person] [top] parentid EQUALITY ================= ALLIDs keys : 5 / 6 [2] [3] [4] [5] [6] sn EQUALITY =========== ALLIDs keys : 0 / 100000 sn SUBSTRING ============ ALLIDs keys : 0 / 12993 telephoneNumber EQUALITY ======================== ALLIDs keys : 0 / 99924 telephoneNumber SUBSTRING ========================= ALLIDs keys : 24 / 1106 [120] [121] [130] [140] [141] [151] [171] [180] [181] [206] [213] [303] [408] [415] [510] [714] [804] [818] [^12] [^13] [^14] [^15] [^17] [^18] telephoneNumber PRESENCE ======================== ALLIDs keys : 1 / 1 [pres] uid EQUALITY ============ ALLIDs keys : 0 / 200000 uid PRESENCE ============ ALLIDs keys : 1 / 1 [pres]
Oracle Directory Server Enterprise Editionのリファレンスの第9章のDirectory Serverの索引作成についての章に従って、dsadm analyze-indexes
によって、Directory Serverで使用される値キーのステータスを表示します。キーのほとんどがAllid
、またはAllid
の95%である場合、このキーに一致するエントリ数は少なくともall-ids-threshold
となります。索引はほぼ間違いなく、all-ids-threshold
を高い値で構成する必要があります。
注意:
|
dsadm analyze-indexes
では、どのキーがALLIDであるか、またはそれに近いかを表示するので、それがdsconf analyze-index-filters
の出力と一致することもあります。検索で、値がALLIDキーのフィルタを指定する場合、前述したように、検索フィルタ全体によっては、その検索の索引が作成されない場合があります。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
$ dsconf delete-index -h host -p port suffix-DN attr-name
たとえば、次のコマンドにより、preferredLanguage
属性の索引がすべて削除されます。
$ dsconf delete-index -h host -p port dc=example,dc=com preferredLanguage
デフォルトの索引を削除する際は、Directory Serverの機能に影響する可能性があるので、十分に注意してください。
システム索引リストのサイズが索引リストのしきい値を超えると、検索が遅くなる場合があります。索引リストのしきい値とは、各索引キーの値の最大数です。索引リストのしきい値サイズを超えたかどうかを判別するには、アクセス・ログを調べます。アクセス・ログのRESULT
メッセージの最後にあるnotes=U
フラグは、索引作成なしの検索が実行されたことを示します。同じ接続および操作の前述のSRCH
メッセージでは、使用した検索フィルタが示されています。次の2行の例では、10,000エントリを返すcn=Smith
の索引作成なしの検索を追跡します。タイムスタンプはメッセージから削除されています。
conn=2 op=1 SRCH base="o=example.com" scope=0 filter="(cn=Smith)" conn=2 op=1 RESULT err=0 tag=101 nentries=10000 notes=U
システムで頻繁に索引リストのしきい値を超える場合、しきい値を増加して、パフォーマンスを向上させることを検討してください。次の手順では、dsconf set-server-prop
コマンドを使用して、all-ids-threshold
プロパティを変更します。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
索引リストのしきい値を調整します。
次の任意のレベルで、索引リストのしきい値を調整できます。
インスタンス・レベル:
dsconf set-server-prop -h host -p port all-ids-threshold:value
接尾辞レベル:
dsconf set-suffix-prop -h host -p port suffix-DN all-ids-threshold:value
エントリ・レベル:
dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold:value
検索タイプ別の索引レベル:
dsconf set-index-prop -h host -p port suffix-DN all-ids-threshold search-type:value
search-typeは次のいずれかとなります。
eq-enabled
等価性
pres-enabled
実在性
sub-enabled
サブストリング
all-ids-threshold
プロパティは、近似索引には構成できません。
DSCCを使用して、検索タイプ別の索引レベルでしきい値を設定できます。詳細は、Directory Serverのオンライン・ヘルプを参照してください。
接尾辞の索引を再生成します。
「索引を生成するには:」を参照してください。
データベースのキャッシュ・サイズが古いall IDs
しきい値用に調整され、かつサーバーに十分な物理メモリーがある場合は、データベースのキャッシュ・サイズの増量を検討します。
データベースのキャッシュ・サイズをall IDs
しきい値の増加量の25パーセント増量します。
つまり、all IDs
しきい値を4000から6000に増加した場合、インデックス・リストのサイズの増加を見込んで、データベースのキャッシュ・サイズを約12.5パーセント増加します。
データベースのキャッシュ・サイズは、属性dbcachesize
を使用して設定します。本番サーバーに変更を適用する前に、最適なサイズを実験的に見つけてください。
索引ファイルが破損した場合、または属性の索引を変更した場合、接尾辞の索引を再作成し、対応するデータベース・ディレクトリの索引ファイルを再作成する必要があります。ディレクトリ・サーバーの実行中に、または接尾辞の再初期化により、接尾辞の索引を再作成できます。
接尾辞の索引を再作成すると、サーバーは接尾辞に含まれるエントリをすべて調べ、索引ファイルを再構築します。索引の再作成中、接尾辞の内容は読取り専用となります。サーバーでは、索引を再作成するすべての属性の接尾辞全体がスキャンされるため、非常に多くのエントリがある接尾辞では、このプロセスに数時間かかる場合があります。この時間は構成する索引によっても異なります。さらに、接尾辞の索引の再作成中は、接尾辞を使用できません。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
接尾辞のすべての索引を再作成します。
$ dsconf reindex -h host -p port suffix-DN
たとえば、dc=example,dc=com
接尾辞の索引すべてを初期化するには、次のコマンドを使用します。
$ dsconf reindex -h host -p port dc=example,dc=com
接尾辞を再初期化すると、新しい内容がインポートされます。これは接尾辞の内容が置き換えられて、新しい索引ファイルが作成されることを意味します。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
「リフェラルの設定および接尾辞の読取り専用化」の説明どおりに、接尾辞を読取り専用に設定します。
「LDIFへのバックアップ」の説明どおりに、接尾辞全体をLDIFファイルにエクスポートします。
「LDIFファイルからのデータのインポート」の説明どおりに、同じLDIFファイルをインポートして、接尾辞を再初期化します。
初期化中は接尾辞を使用できません。初期化が完了すると、構成されたすべての索引の使用準備が整います。
「リフェラルの設定および接尾辞の読取り専用化」の説明どおりに、接尾辞を再度書込み可能に設定します。
参照索引とは、サーバー側での結果のソートをリクエストする検索操作専用の特殊な索引です。Oracle Directory Server Enterprise Editionのリファレンスでは、Directory Serverでの参照索引の仕組みについて説明しています。
クライアントの検索結果のソート用にカスタマイズされた参照索引は、手動での定義が必要となります。参照索引、あるいは仮想リスト表示(VLV)索引を作成するには、次の手順に従います。この項では参照索引エントリの追加または変更の手順、および参照索引の再生成の手順も説明します。
WebインタフェースのDirectory Service Control Center (DSCC)を使用して、このタスクを実行できます。
ldapmodify
コマンドを使用して、新しい参照索引エントリを追加するか、既存の参照索引エントリを編集します。
手順は、「参照索引エントリを追加または変更するには:」を参照してください。
dsconf reindex
コマンドを実行して、サーバーに保持する新しい参照索引セットを生成します。
手順は、「参照索引を再生成するには:」を参照してください。
参照索引は、指定のベース・エントリとそのサブツリーの指定の検索に固有です。参照索引の構成は、そのエントリを含む接尾辞のデータベース構成内で定義されます。
ディレクトリ・サーバーの各参照索引に、vlvBase
、vlvScope
およびvlvFilter
属性を構成します。
これらの属性は、検索のベース、検索の範囲および検索用のフィルタを構成します。これらの属性は、vlvSearch
オブジェクト・クラスを使用します。
各参照索引に対して、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
エントリが1つ以上必要です。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
参照索引の構成を変更するには、対応するvlvSearch
エントリまたは対応するvlvIndex
エントリを編集します。
参照索引を削除して、サーバーで参照索引を維持しないようにするには、各vlvIndex
エントリを削除します。
または、vlvIndex
エントリが1つしか存在しない場合、vlvSearch
およびvlvIndex
の両方のエントリを削除します。
参照索引エントリを作成したら、指定した属性に対して、新しい参照索引を生成します。
$ dsadm reindex -l -t attr-index instance-path suffix-DN
このコマンドは、ディレクトリの内容をスキャンし、参照索引のためのデータベース・ファイルを作成します。
次の例では、前項で定義した参照索引を生成します。
$ dsadm reindex -l -b database-name -t Browsing /local/dsInst \
ou=People,dc=example,dc=com
dsadm reindex
コマンドの詳細は、dsadmのマニュアル・ページを参照してください。