インデックスマネージャは、サーバオブジェクトの属性の1つで、データベースインデックスの管理に使用します。eDirectoryでは、データベースインデックスを使用することによって、クエリの処理速度が大幅に向上します。
Novell eDirectoryには、基本的なクエリの機能を提供する一連のインデックスが付属しています。これらデフォルトのインデックスの対象となる属性を次に示します。
CN |
別名オブジェクト名 |
dc |
破損通知 |
名 |
Member |
姓 |
リファレンス |
uniqueID |
同等権利保有者 |
GUID |
NLS:共通許可証 |
cn_SS |
リビジョン |
uniqueID_SS |
extensionInfo |
ldapAttributeList |
ldapClassList |
またカスタマイズされたインデックスを作成して、ユーザの環境におけるeDirectoryのパフォーマンスをさらに向上させることができます。たとえば、デフォルトでインデックス付けされていない属性を検索する新しいLDAPアプリケーションが組織に導入された場合、その属性に対するインデックスを作成すると便利です。
注: インデックスを使用することにより検索の処理速度は上がりますが、インデックスの数が増えるほど更新にかかる時間が長くなります。一般には、パフォーマンスの問題が特定のディレクトリの検索に関係すると思われる場合に、新しいインデックスを作成します。
Novell iManagerを使用して、インデックスを作成または削除します。インデックス名、状態、タイプ、ルール、インデックス付き属性など、インデックスのプロパティを表示したり、管理することができます。
プレディケート統計データを使用すると、どのようなインデックスを追加したらユーザの環境で便利であるかを確認できます。プレディケート統計データはConsoleOneでのみ使用できます。「プレディケートデータ」を参照してください。
Novell iManagerで、[役割およびタスク]ボタンをクリックします。
[eDirectoryの保守]>[インデックス管理]の順にクリックします。
利用可能なサーバのリストからサーバを選択します。
[インデックスの変更]ページで[作成]をクリックします。
インデックス名を入力します。
インデックス名を入力しなかった場合は、選択した属性が自動的にインデックス名として設定されます。
重要: 「$」文字は属性値の区切り記号として使用されます。インデックス名に「$」文字を使用する場合、前に円記号(\)を付けて、LDAPでインデックスを作成するときに「$」文字をエスケープします。
属性を選択します。
インデックスのルールを選択します。
値 属性の値全体または値の最初の部分を照合します。たとえば、値一致は、「Jensen」に一致する「LastName」のあるエントリの検索や、「Jen」で始まる「LastName」があるエントリの検索に使用できます。
存在 特定の属性値ではなく、属性の存在のみを検索します。Login Script属性を持つエントリをすべて検索するクエリは、存在インデックスを使用します。
下位文字列 属性値文字列のサブセットを照合します。たとえば、「der」という値を含む「LastName」を検索するクエリを実行すると、「Derington」、「Anderson」、および「Lauder」が照合の結果として返されます。
下位文字列インデックスは、作成や維持を行うときに最も多くのリソースが消費されるインデックスです。
[OK]をクリックすると、インデックステーブルが更新されます。
[適用]をクリックすると、limberがバックグラウンドプロセスとして再起動され、変更内容が有効になります。
作成したインデックスが不要になる場合があります。必要のない、ユーザ定義または自動で作成したインデックスは、削除できます。プレディケート統計を使用して、重要度の低いインデックスを調べることができます。詳細については、プレディケートデータを参照してください。
一時的にインデックスをオフラインにすることで、処理のピーク時にパフォーマンスを調整できます。たとえば、ユーザ定義のインデックスの使用をすべて中断すると、バルクロードを高速化できます。オブジェクトを追加または変更するときは定義されているインデックスを更新する必要があり、すべてのインデックスをアクティブにするとデータのバルクロードの速度が遅くなるためです。バルクロードが完了すると、再びインデックスをオンラインにできます。
あるサーバで便利に使用されているインデックスがあり、このインデックスを他のサーバでも使用する場合は、他のサーバにインデックス定義をコピーできます。またプレディケートデータを調べると、これとは逆のケースが発生する場合もあります。つまり、複数のサーバで使用されていたインデックスが、そのいずれかのサーバで不要になるといったケースです。このような場合、インデックスが不要になったサーバからインデックスを削除できます。
インデックスマネージャを使用すると、他のインスタンスに影響を与えずに、インデックスの1つのインスタンスを処理できます。
Novellインポート/エクスポート変換ユーティリティを使用してインデックスを作成または削除できます。
インデックスを作成または削除するには、LDIFファイルを使用する必要があります。LDIFファイルがインポートされたら、limberを開始してインデックス処理を初期化することができます。その他の場合には、インデックス処理はlimberが開始されたときに自動的に行われます。
LDIFファイルにインデックスを指定するには値が必要です。次の場合、ドル($)記号で区切られた文字列は無視されます。
dn:cn=testServer-NDS,o=Novellchangetype:modifyadd:indexDefinitionindexDefinition:0$indexName$2$2$0$1$attributeName
dn:cn=osg-nw5-7, o=Novellchangetype:modifydelete:indexDefinitionindexDefinition:0$indexName$2$2$0$1$attributeName