Interstage Application Server Smart Repositoryユーザーズガイド
目次 索引 前ページ次ページ

第1章 Smart Repositoryアプリケーション作成の基礎知識

1.6 エントリの検索

 エントリの検索操作は、以下のように行います。

  1. 検索範囲を指定して情報を絞り込みます。
  2. 検索範囲内の各エントリの属性値に対して、フィルタ条件を指定して一致したものだけを取り出します。

 検索範囲、およびフィルタについて以下に示します。

検索範囲

 検索する指定範囲には、以下の3種類があります。

検索範囲

内容

ベースオブジェクト検

指定したエントリそのものを検索します。

ワンレベル検

指定したエントリの1階層下を検索します。

サブツリー検

指定したエントリとその階層配下すべてを検索します。

検索フィルタ

 検索フィルタには、以下の5つを指定することができます。

フィルタ

内容


(equal)

指定した値と同じ属性値がある場合に、取り出します。

部分文字
(substring)

指定した部分文字列を含む属性値がある場合に、取り出します。
部分文字列には、前方一致、後方一致、任意一致、およびこれらを組み合わせて指定することができます。

より大き
(greater)

指定した値より大きい値の属性値がある場合に、取り出します。

より小さ
(less)

指定した値より小さい値の属性値がある場合に、取り出します。


(present)

属性値がある場合に、取り出します。

 また、上記の各検索フィルタを組み合わせることで、より詳細に指定することができます。以下に組み合わせに使用する論理演算を示します。

論理演算

内容

論理
(AND)

複数の検索フィルタを論理積(AND)条件で結びます。
すべての条件が真の場合に、有効となります。

論理
(OR)

複数の検索フィルタを論理和(OR)条件で結びます。
いずれかの条件が真の場合に、有効となります。

検索フィルタの文法

 Smart Repositoryのクライアントで使用できる検索フィルタ(RFC1558準拠)とその使用例を示します。

 検索フィルタの文法は、以下のRFC文書に記述されています。

特殊文字の指定方法

 検索フィルタの値に、検索する値として以下の特殊文字を指定する場合、その特殊文字を“\”(エンマーク)でエスケープした後に16進数として指定する必要があります。
 16進数での指定が必要な特殊文字の一覧を以下に示します。

特殊文字

16進数

指定方法

*

0x2a

\2a

(

0x28

\28

)

0x29

\29

\

0x5c

\5c


 検索フィルタの値に“富士通(株)”を指定する場合、以下のように指定します。

(o=富士通\28株\29)

検索可能最大エントリ数、検索タイムアウト時間指定時の動作について

 検索可能最大エントリ数、および検索タイムアウト時間は、Smart Repositoryサーバ側と、クライアント側とでそれぞれ指定できます。
 Smart Repositoryサーバ側の指定とクライアント側の指定との関係を下表に示します。

クライアントから
アクセスするDN
(バインドするDN)

クライアント
指定値

サーバ指定値と
クライアント指定値との関係

有効となる指定

管理者用DN

あり

サーバ>クライアント

クライアント指定値

あり

サーバ≦クライアント

クライアント指定値

制限しない

    -

クライアント指定値

その他

あり

サーバ>クライアント

クライアント指定値

あり

サーバ≦クライアント

サーバ指定値

制限しない

    -

サーバ指定値

 検索可能最大エントリ数と検索タイムアウト時間のクライアント側での指定方法は、以下を参照してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005