インデックスマネージャは、サーバオブジェクトの属性の1つで、データベースインデックスの管理に使用します。eDirectoryでは、データベースインデックスを使用することによって、クエリの処理速度が大幅に向上します。
NetIQ eDirectoryには、基本的なクエリの機能を提供する一連のインデックスが付属しています。これらデフォルトのインデックスの対象となる属性を次に示します。
CN |
Aliased Object Name |
dc |
破損通知 |
名 |
Member (メンバー) |
Surname (名字) |
リファレンス |
uniqueID (固有ID) |
Equivalent to Me |
GUID |
NLS: 共通証明書 |
cn_SS |
Revision (改訂数) |
uniqueID_SS |
extensionInfo |
ldapAttributeList |
ldapClassList |
またカスタマイズされたインデックスを作成して、ユーザの環境におけるeDirectoryのパフォーマンスをさらに向上させることができます。たとえば、デフォルトでインデックス付けされていない属性を検索する新しいLDAPアプリケーションが組織に導入された場合、その属性に対するインデックスを作成すると便利です。
メモ:インデックスを使用することにより検索の処理速度は上がりますが、インデックスの数が増えるほど更新にかかる時間が長くなります。一般には、パフォーマンスの問題が特定のディレクトリの検索に関係すると思われる場合に、新しいインデックスを作成します。
NetIQ iManagerを使用して、インデックスを作成または削除します。インデックス名、状態、タイプ、ルール、インデックス付き属性など、インデックスのプロパティを表示したり、管理することができます。
NetIQ iManagerで、[役割およびタスク]ボタン をクリックします。
[eDirectoryの保守]>[インデックス管理]の順にクリックします。
利用可能なサーバのリストからサーバを選択します。
[インデックスの変更]ページで[作成]をクリックします。
インデックス名を入力します。
インデックス名を入力しなかった場合は、選択した属性が自動的にインデックス名として設定されます。
重要:「$」文字は属性値の区切り記号として使用されます。インデックス名に「$」文字を使用する場合、前に円記号(\)を付けて、LDAPでインデックスを作成するときに「$」文字をエスケープします。
属性を選択します。
インデックスのルールを選択します。
値 属性の値全体または値の最初の部分を照合します。たとえば、値一致は、「Jensen」に一致する「LastName」のあるエントリの検索や、「Jen」で始まる「LastName」があるエントリの検索に使用できます。
存在 特定の属性値ではなく、属性の存在のみを検索します。Login Script属性を持つエントリをすべて検索するクエリは、存在インデックスを使用します。
部分文字列 属性値文字列のサブセットを照合します。たとえば、「der」という値を含む「LastName」を検索するクエリを実行すると、「Derington」、「Anderson」、および「Lauder」が照合の結果として返されます。
下位文字列インデックスは、作成や維持を行うときに最も多くのリソースが消費されるインデックスです。
[OK]をクリックすると、インデックステーブルが更新されます。
[適用]をクリックすると、リンバがバックグラウンドプロセスとして再起動され、変更内容が有効になります。
作成したインデックスが不要になる場合があります。必要のない、ユーザ定義または自動で作成したインデックスは、削除できます。
NetIQ iManagerで、[役割およびタスク]ボタン をクリックします。
[eDirectoryの保守]>[インデックス管理]の順にクリックします。
利用可能なサーバのリストからサーバを選択します。
[インデックスの変更]ページで、削除するユーザインデックスまたは自動追加インデックスを選択します。
[削除]をクリックすると、インデックステーブルが更新されます。
[適用]をクリックすると、リンバがバックグラウンドプロセスとして再起動され、変更内容が有効になります。
一時的にインデックスをオフラインにすることで、処理のピーク時にパフォーマンスを調整できます。たとえば、ユーザ定義のインデックスの使用をすべて中断すると、バルクロードを高速化できます。オブジェクトを追加または変更するときは定義されているインデックスを更新する必要があり、すべてのインデックスをアクティブにするとデータのバルクロードの速度が遅くなるためです。バルクロードが完了すると、再びインデックスをオンラインにできます。
NetIQ iManagerで、[役割およびタスク]ボタン をクリックします。
[eDirectoryの保守]>[インデックス管理]の順にクリックします。
利用可能なサーバのリストからサーバを選択します。
[インデックスの変更]ページで、オフラインにするインデックスを選択して、[状態の変更]をクリックします。
表示されているテーブルでは、インデックスの状態が[オンライン]から[オフライン]に変わります。インデックスは、次のいずれかの状態になります。
オンライン : 現在実行中.
オフライン : [一時停止中]. インデックスを再開するには、[Bring Online]をクリックします。
New (新規) : [オンライン]状態になるのを待機中.
削除済み : インデックステーブルから削除されるのを待機中.
適用をクリックします。
あるサーバで便利に使用されているインデックスがあり、このインデックスを他のサーバでも使用する場合は、他のサーバにインデックス定義をコピーできます。またプレディケートデータを調べると、これとは逆のケースが発生する場合もあります。つまり、複数のサーバで使用されていたインデックスが、そのいずれかのサーバで不要になるといったケースです。このような場合、インデックスが不要になったサーバからインデックスを削除できます。
インデックスマネージャを使用すると、他のインスタンスに影響を与えずに、インデックスの1つのインスタンスを処理できます。
NetIQ iManagerで、[役割およびタスク]ボタン をクリックします。
[eDirectoryの保守]>[インデックス管理]の順にクリックします。
利用可能なサーバのリストからサーバを選択します。
同じツリーの別のサーバにインデックス定義をコピーするには、[インデックス位置の変更]をクリックします。
コピーするインデックス定義を選択します。
インデックスを1つ選択すると、そのインデックスを提供するツリー内のサーバが一覧表示されます。
このカラムを使用して、インデックスのコピーを目的のサーバに移動します。
適用をクリックします。
NetIQインポート/エクスポート変換ユーティリティを使用してインデックスを作成または削除できます。
インデックスを作成または削除するには、LDIFファイルを使用する必要があります。LDIFファイルがインポートされたら、リンバを開始してインデックス処理を初期化することができます。その他の場合には、インデックス処理はリンバが開始されたときに自動的に行われます。
LDIFファイルにインデックスを指定するには値が必要です。次の場合、ドル($)記号で区切られた文字列は無視されます。
順序 |
String |
説明 |
---|---|---|
1 |
Index version |
今後の使用のために予約されています。eDirectoryでは、常に0に設定します。 |
2 |
Index name |
ユーザ定義のインデックス名(姓、郵便番号など)を指定します。文字列には、ドル($)記号は使用できません。 |
3 |
Index state |
インデックスの状態を指定します。インデックスを定義する場合、このフィールドには2(オンライン)を設定します。eDirectoryでは次の値がサポートされています。
バックグラウンドプロセスは、インデックスの構築を開始した後に状態を変更します。 |
4 |
Index rule |
マッチングのタイプを指定します。
|
5 |
Index type |
インデックスの作成者を指定します。インデックスを定義する場合、この値には0を設定する必要があります。eDirectoryでは次の値がサポートされています。
|
6 |
Index value state |
インデックスのソースを指定します。インデックスを定義する場合、この文字列には1を設定します。eDirectoryでは次の値がサポートされています。
|
7 |
属性名 |
属性のNDS名を指定します。eDirectoryでは多くの属性がLDAP名とNDS名の両方を持っています。この文字列にはNDS名が必要です。 |
dn: cn=testServer-NDS,o=Novell
changetype: modify
add: indexDefinition
indexDefinition: 0$indexName$2$2$0$1$attributeName
dn: cn=osg-nw5-7, o=Novell
changetype: modify
delete: indexDefinition
indexDefinition: 0$indexName$2$2$0$1$attributeName