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