検索

3.3. コマンドラインを使用してデータベースにインデックススキャン制限を設定する

download PDF

場合によっては、特定のインデックスに制限を定義したり、ID リストをまったく使用しない方が便利な場合があります。さまざまなタイプの検索フィルターの ID リストスキャン制限を個別に設定できます。

たとえば、オブジェクトクラス inetOrgPerson を含む 1,000 万のエントリーを持つ大規模なデータベースでは、(&(objectClass=inetOrgPerson)(uid=user)) フィルターはまず objectClass=inetOrgPerson に一致する 1,000 万の ID すべてを含む ID リストを作成します。データベースがフィルターの 2 番目の部分を適用すると、uid=user に一致するオブジェクトの結果一覧を検索します。この場合、特定のインデックスに制限を定義するか、ID リストをまったく使用しないようにすると便利です。

この手順では、AND 句で objectClass=inetOrgPerson 条件の ID リストを作成しないようにディレクトリーサーバーを設定する方法を示します。

手順

  • nsIndexIDListScanLimit パラメーターを設定します。

    # ldapmodify -D "cn=Directory Manager" -W -H ldap://server.example.com -x
    
    dn: cn=objectclass,cn=index,cn=userRoot,cn=ldbm database,cn=plugins,cn=config
    changetype: modify
    replace: nsIndexIDListScanLimit
    nsIndexIDListScanLimit: limit=0 type=eq flags=AND values=inetOrgPerson

    これらの設定では、ディレクトリーサーバーは AND 句の objectClass=inetOrgPerson 条件の ID リストを作成しません。その他のすべての状況では、ディレクトリーサーバーはグローバル ID リストのスキャン制限値を適用します。

    nsIndexIDListScanLimit パラメーターは、次の構文を使用します。

    nsIndexIDListScanLimit: limit=NNN [type=eq[,sub,...]] [flags=AND[,XXX,...]] [values=val[,val,...]]
    • limit: ID リストの最大サイズを設定します。有効な値は以下のとおりです。

      • -1: 無制限。
      • 0: インデックスを使用しない。
      • 1 から 32 ビット整数の最大値 (2147483647): ID の最大数
    • type: オプション: スキャン制限の動作を変更するフラグを設定します。有効な値は以下のとおりです。

      • AND: AND 句に属性が含まれる検索にのみスキャン制限を適用します。
      • OR: OR 句に属性が含まれる検索にのみスキャン制限を適用します。
    • values: オプション: 制限を適用するために検索フィルターに一致する必要がある値のコンマ区切りリスト。一致は一度に 1 回ずつ行われるため、いずれかの値が一致すると値は一致します。

      値は、一度に 1 つのタイプでのみ使用してください。値は、インデックスタイプと、インデックスが適用される属性の構文に対応している必要があります。たとえば、整数ベースの属性 uidNumber を指定し、それが eq タイプに対してインデックス付けされている場合、type=eq values=abc は使用できません。

      値にスペース、コンマ、NULL、またはその他のエスケープが必要な値が含まれる場合、LDAP フィルタエスケープ構文を使用します。バックスラッシュ (\) の後に、文字の 2 桁の 16 進数コードを続けます。以下の例では、DN 値のコンマは \2C でエスケープされます。

      nsIndexIDListScanLimit: limit=0 type=eq values=uid=user\2Cou=People\2Cdc=example\2Cdc=com
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.