本章では、検索フィルタおよび検索の仕組みを説明しています。
検索範囲を限定するために、 [標準検索]フィールドに直接検索フィルタを指定できます。検索に等号記号(=)が含まれる場合は、[標準検索]では値が検索フィルタであるものと想定され、このフィルタが直接使用されて検索が実行されます。
検索フィルタでは、[標準検索]のために戻されるエントリを選択するのに、属性の値が使用されます。例えば、次の検索フィルタでは、Babs Jensenに等しい一般名の検索が指定されます。
cn=babs jensen
属性 演算子値
employeenumber >= 100
上記の例では、employeenumberは属性、>= は演算子、100は値です。
異なった属性の組合せを使用するフィルタも定義できます。
エントリの検索の際に、そのタイプのエントリと関係する属性を指定できます。例えば、ユーザに関するエントリを検索する場合、特定の一般名を持つユーザの検索にcn属性を使用できます。
ユーザに関するエントリの例として次のものが含まれることがあります。
エントリに関係する属性のリストについては、付録A「エントリと属性のフィールド」をご覧ください。 検索フィルタにおいて内部属性名を使用する必要があることに注意してください。
これらの検索タイプの詳細は、「検索の仕組み」をご覧ください。
ブール演算子を使用して、異なった検索フィルタを組み合わせることができます。接頭辞表記に以下の演算子を使用できます。
(ブール_演算子((フィルタ)(フィルタ)(フィルタ)...))
この場合、ブール_演算子は、任意のブール演算子です。例:
(&(ou=Marketing)(cn=Ray*))
上記の例では、フィルタの組合せによって、組織単位がMarketing (ou=Marketing)で、一般名がRay (cn=Ray*)で始まるエントリが検索されます。And(&)のブール演算子は、この演算子が検索基準を先行する接頭辞表記法で使用されています。
さらに、以下のように、複雑な式を形成するのにブール演算子を入れ子にすることもできます。
(ブール_演算子(フィルタ)((ブール_演算子(フィルタ)(フィルタ)))
演算子 | 記号 | 説明 |
---|---|---|
And | & | 文が真であるためには、すべての指定フィルタが真でなければなりません。例: |
Or | | | 文が真であるためには、最低一つの指定フィルタが真でなければなりません。例: |
Not | ! | 文が真であるためには、指定された文が真であってはなりません。一つのフィルタのみがNot演算子によって影響されることに注意してください。例: |
マネージャ属性を含むエントリが次のフィルタによって検索されます。これは存在検索とも呼ばれます。
manager=*
Ray Kultgenの一般名を含むエントリが次のフィルタによって検索されます。これは等号検索としても呼ばれます。
cn=Ray Kultgen
Ray Kultgenの一般名を含まないエントリが次のフィルタによって戻されます。
(!(cn=Ray Kultgen))
X.500の副文字列を持つ[description]属性を含むエントリが次のフィルタによって戻されます。
description=*X.500*
組織単位がMarketingで、[description]フィールドに副文字列X.500が含まれないエントリが次のフィルタによって戻されます。
(&(ou=Marketing)(!(description=*X.500*)))
組織単位がMarketingで、マネージャがJulie FulmerまたはCindy Zwaskaであるエントリが次のフィルタによって戻されます。
(&(ou=Marketing)(|(manager="cn=Julie Fulmer,ou=Marketing,o=Airius,c=US")(manager="cn=Cindy Zwaska,ou=Marketing,o=Airius, c=US")))
(!(objectclass=person))
ユーザ(person)を示さず、しかも一般名(cn)がプリンタ3bに類似したエントリが次のフィルタによって戻されます。
(&(!(objectclass=person))(cn~=printer3b))
注:
Directory Serverインタフェースは、実際、Directory Serverから独立して動作するフォームとCGIプログラムの集まりです。このインタフェースは、Directory Serverに対してLDAPクライアントとして動作するものです。
以下には、Directory Serverを検索する際の仕組みが説明されています。
ディレクトリ管理者がこれらの設定を構成できます。検索アルゴリズムの詳細は、『Netscape Directory Server管理者用ガイド』をご覧ください。
以下には、近似検索および副文字列検索の仕組みが説明されています。
近似検索では入力値に類似した語が検索されます。[拡張検索]インタフェースでは、近似検索はsounds like (類似)検索タイプに対応しています。
例えば、エントリに属性値cn=Robert E Leeが含まれるとします。 近似検索では、Robert Lee、Robert、またはLeeを指定してこのエントリを検索できます。同様に、 San Fransico (l~=San Fransicoのスペル間違いに注意)にほぼ等しい場所の検索では、San Francisco (l=San Francisco)に完全に一致する場所を含むエントリが戻されます。
Directory Serverでは、エントリの各値が一連の語として処理され、各語の表音コードが作成されます。また、近似検索に値を入力すると、その値が一連の表音コードに翻訳されます。以下の場合にエントリが問合せに一致すると見なされます。
副文字列検索では、入力した値を含むエントリが検索されます。[拡張検索]インタフェースでは、副文字列検索starts with(開始文字)、contains (含有)、およびends with (終了文字)の検索に対応します。
のフォームの検索では、以下の文字列を含む一般名に一致します。
Bill Anderson Jill Anderson Steve Sanderson