search-req コマンド -- エントリの検索
内容
cad126jp
内容
search-req コマンドは、ネームスペース パーティション内のエントリを検索します。
検索サービスは多くのオブジェクトを返すことができます。検索がサイズ制限または時間制限を超えた場合、または DUA が 中止リクエストを受信した場合、検索は部分的な結果(すなわち停止前に収集したエントリ)を返します。
ベース オブジェクトを見つけることができた場合は、その検索は成功です。
検索は、エイリアスがそれ自体を直接または間接的に指しているかどうかを検出し、エラーを返します。
コマンドの形式は以下のとおりです。
search-req base-object = DN [one-level-only | base-object-only | whole-subtree] [filter = { search-req-filter }] [no-info-return] [dont-search-aliases | search-aliases] [attr-only | attr-and-val] [all-attrs | attrs = attribute [,attribute...]] [common-args] ;
- base-object= DN検索が開始するエントリの識別名を定義します。DNは X.500 形式で表されます。
- one-level-only | base-object-only | whole-subtree(オプション)検索のスコープを指定します。デフォルトは base-object-only です。
- no-info-return(オプション)フィルタを満足させるエントリの名前のみを返します。
- dont-search-aliases(オプション) search-req がエイリアスの aliasedObjectname を追うべきでないことを指定します。これが指定されない場合は、search-req はエイリアスをエントリへのポインタとして扱います。
- attrs =attribute[,attribute...](オプション)指定された属性のみを返します。
例: 1 つのエントリの検索サービス
以下の例は read-req と同等です。1 つのエントリの属性および値をすべて取得します。
search-req base-object = <countryName "AU"> <organizationName "Democorp">;
例: 単一レベルの検索サービス
以下の例は list-req と同等です。Democorp 下の 1 レベルからすべてのオブジェクトの名前を取得します。
search-req base-object = <countryName "AU"> <organizationName "Democorp"> one-level-only no-info-return;
例: サブツリーの検索サービス
以下の例は、Democorp を含めて、Democorp 下のエントリをすべて検索します。これは、値
Smith
という姓属性が含まれるすべてのエントリに関する情報をすべて取得します。search-req base-object = <countryName "AU"> <organizationName "Democorp"> whole-subtree filter = { attr = surname value = "Smith" };
例: ローカル ディレクトリ ツリーの検索サービス
ローカル ディレクトリ ツリーを検索し、Smith という値を持つ姓属性、
Manager
という値を持つ肩書き属性および telephoneNumber
属性が含まれるオブジェクトをすべて取得します。検索フィルタに一致するオブジェクトの commonName
、surname
、および telephoneNumber
属性のみを取得します。search-req base-object = <> whole-subtree filter = { and {attr = surname value = "Smith", attr = title substrings [ any "Manager"], attr = telephoneNumber present} } attrs = commonName, surname, telephoneNumber common-args = { local-scope };
search-req-filter
search-req-filter オプションは、search-req コマンドのフィルタを定義します。search-req コマンドはフィルタを使用して、見つかったエントリを表示するべきかどうか、それらのエントリを結果から除外するべきかどうかを決定します
構文
search-req フィルタは、1 つのフィルタ アイテムで構成されるか、または論理演算子
and
、not、or
のいずれかで連結された複数のフィルタ アイテムで構成されます。したがって、以下のいずれの形式も使用できます。
search-filter-item and {search-filter-item ,search-filter-item ...} or {search-filter-item ,search-filter-item ...} not {search-filter-item}
これらの表現における中かっこ({})は構文の一部で、演算子のスコープを定義します。
1 つの検索フィルタ アイテムがある場合は、常にそれを上記のいずれかの式と置換することができます。また、これらの表現を無制限に入れ子にできます。
- search-filter-item検索フィルタ内のアイテムを定義します。以下のいずれかの形式があります。
これらの表現での中かっこ({})およびパイプ記号(|)は、コマンドの一部ではなく、代替表現形式を提示するための記号でしかありません。中かっこは複数の代替値を囲み、パイプは代替値を区切っています。attr=DN present attr=DN value {= | <= | >= | ~=} attributeValue attr=DN substrings {initial | final | any} attributeValueSubStringこれらの表現の演算子および他のパラメータは以下のとおりです。- =等しい
- <=以下
- >=以上
- ~=ほぼ等しい
- attributeValue可能な属性値を定義します。
- attributeValueSubstring属性値の可能なサブストリングを定義します。
LDAP-Only の例
これらのコマンドは LDUA、すなわち DUA の LDAP バージョンによってサポートされています。LDUA は LDAP プロトコルを使用するため、LDAP コントロールにアクセス権があり、操作が変更されることを許可します。たとえば、検索コマンドにはサーバ側のソートおよび、ページ付けされた結果を含めることができます。
例: 検索およびソート結果
Democorp 下のオブジェクトをすべて検索し、H で始まる共通名を持ったオブジェクトをすべて取得して、記述によって逆順にオブジェクトを並べ替えます。
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { server-side-sort description reverse critical };
例: 検索および結果のページ付け
Democorp 下のオブジェクトをすべて検索し、H で始まる属性共通名が含まれるオブジェクトをすべて取得して、結果にページをつけます。
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { simple-paged-results size = 20 critical };
例: 検索およびソートと結果のページ付け
これらの LDUA コントロールは一緒に使用することができます。以下の例では、Democorp 下のオブジェクトをすべて検索し、H で始まる属性共通名が含まれるオブジェクトをすべて取得し、ソートして結果にページを付けます。
search-req base-object=<o Democorp> whole-subtree filter = { attr = commonName substrings [ initial h ] } attrs = commonName,description controls = { server-side-sort commonName simple-paged-results size = 20 next-page };