2.8. Web コンソールを使用してビューのパフォーマンスを改善するためのインデックスの作成
ビューは指定のフィルターに基づいて検索結果から派生します。フィルターの一部は nsViewFilter で明示的に指定される属性です。フィルターの残りの部分はエントリー階層に基づいており、ビューに含まれる実際のエントリーの entryid および parentid 操作属性を検索します。
(|(parentid=search_base_id)(entryid=search_base_id))
(|(parentid=search_base_id)(entryid=search_base_id))
検索された属性( entryid、parentid、または nsViewFilter - の属性)のいずれかにインデックスが付けられていない場合、検索は部分的にインデックスが解除され、Directory Server はディレクトリーツリー全体で一致するエントリーを検索します。
ビューのパフォーマンスを改善するには、以下のようにインデックスを作成します。
-
entryidの 等価インデックス (eq) を作成します。parentid属性は、デフォルトでシステムインデックスでインデックス化されます。 -
nsViewFilter内のフィルターが存在 (attribute=*) をテストする場合は、テスト対象の属性の 存在インデックス (pres) を作成します。このインデックスタイプは、少数のディレクトリーエントリーに表示される属性でのみ使用する必要があります。 -
nsViewFilter内のフィルターが等価性 (attribute=value) をテストする場合は、テスト対象の属性の 等価インデックス (eq) を作成します。 -
nsViewFilterのフィルターが部分文字列をテストする場合 (attribute=value*) は、テストする属性の 部分文字列インデックス (sub) を作成します。 -
nsViewFilterのフィルターが近似値 (attribute~=value) をテストする場合、テスト対象の属性の 近似インデックス (approximate) を作成します。
たとえば、以下の view フィルターを使用する場合は、以下を実行します。
nsViewFilter: (&(objectClass=inetOrgPerson)(roomNumber=*66))
nsViewFilter: (&(objectClass=inetOrgPerson)(roomNumber=*66))
objectClass には、デフォルトで実行される 等価インデックス で、roomNumber には 部分文字列インデックス でインデックスを付ける必要があります。
前提条件
- Web コンソールでインスタンスにログインしている。
- ビューフィルターで使用する属性に注意してください。
手順
- Database で、インデックスを作成する設定ツリーから接尾辞を選択します。
- Indexes および Database Indexes に移動します。
- ボタンをクリックします。
- 属性の名前を入力し、属性を選択します。
- この属性に対して作成する必要のある Index Types を選択します。
- 必要に応じて、特に国際化されたインスタンスの場合に、照合順序 (OID) を指定するための Matching Rules を追加します。
- Index attribute after creation を選択し、後でインデックスを再ビルドします。
- をクリックします。
- インデックス化される各属性に対して手順を繰り返します。
検証
- 追加された属性の名前を入力して、インデックスをフィルタリング します。
- 新たにインデックス化された属性が結果に表示されるはずです。