Directory Proxy Server では、要求のパラメータと 1 つ以上のパターンの間の一致に基づいて、要求をデータビューに配布します。次のパラメータを設定して、パターンマッチング配布アルゴリズムの設定を行います。
pattern-matching-base-object-search-filter pattern-matching-base-object-search-filter(5dpconf)
pattern-matching-dn-regular-expression pattern-matching-dn-regular-expression(5dpconf)
pattern-matching-one-level-search-filter pattern-matching-one-level-search-filter(5dpconf)
pattern-matching-subtree-search-filter pattern-matching-subtree-search-filter(5dpconf)
filter で終わる設定属性は LDAP フィルタであり、正規表現ではありません。これらの LDAP フィルタは、受信検索要求に含まれる LDAP フィルタに対して評価されます。
たとえば、偶数の uid を持つユーザーの要求を even データビューに、奇数の uid を持つユーザーの要求を odd データビューに送信するようにパターンマッチング配布アルゴリズムを設定するときは、次の設定を使用します。
$ dpconf set-ldap-data-view-prop even pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\ (uid=*4)(uid=*6)(uid=*8))'\ pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\ (uid=*4)(uid=*6)(uid=*8))'\ pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*0)(uid=*2)\ (uid=*4)(uid=*6)(uid=*8))'\ pattern-matching-dn-regular-expression:'uid=[0-9]+[02468]' distribution-algorithm: pattern-matching |
$ dpconf set-ldap-data-view-prop odd pattern-matching-base-object-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\ (uid=*5)(uid=*7)(uid=*9))'\ pattern-matching-one-level-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\ (uid=*5)(uid=*7)(uid=*9))'\ pattern-matching-subtree-search-filter:'|(uid=\2a)(uid=*1)(uid=*3)\ (uid=*5)(uid=*7)(uid=*9))'\ pattern-matching-dn-regular-expression:'uid=[0-9]+[13579]' distribution-algorithm: pattern-matching |
(uid=\2a) の式で、\2a は * の ASCII 表現であり、2 および a は 2 つの 16 進数字です。(uid=\2a) の式により、データビューがすべての uid の要求を確実に受け入れるようになります。
パターンマッチングアルゴリズムでサポートされる構文は、Java パターンクラス (http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html で説明されています) によって指定されます。この構文は、通常の regex 構文と同じではありません。