2.8. Web コンソールを使用してビューのパフォーマンスを改善するためのインデックスの作成

ビューは指定のフィルターに基づいて検索結果から派生します。フィルターの一部は nsViewFilter で明示的に指定される属性です。フィルターの残りの部分はエントリー階層に基づいており、ビューに含まれる実際のエントリーの entryid および parentid 操作属性を検索します。

(|(parentid=search_base_id)(entryid=search_base_id)

検索された属性 (entryidparentid、または 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 コンソールでインスタンスにログインしている。
  • ビューフィルターで使用する属性に注意してください。

手順

  1. Database で、インデックスを作成する設定ツリーから接尾辞を選択します。
  2. Indexes および Database Indexes に移動します。
  3. Add Index ボタンをクリックします。
  4. 属性の名前を入力し、属性を選択します。
  5. この属性に対して作成する必要のある Index Types を選択します。
  6. 必要に応じて、特に国際化されたインスタンスの場合に、照合順序 (OID) を指定するための Matching Rules を追加します。
  7. Index attribute after creation を選択し、後でインデックスを再ビルドします。
  8. Create Index をクリックします。
  9. インデックス化される各属性に対して手順を繰り返します。

検証

  • 追加された属性の名前を入力して、Filter Indexes します。
  • 新たにインデックス化された属性が結果に表示されるはずです。