B.3 JSON形式クエリによる高度な検索の実行

JSONとQUERYパラメータを使って、高度な検索を実行することができます。JSON構文の規則は、基本検索と同じです。ただし、一般的に高度な検索では、複数の条件グループや条件行が定義されるという違いがあります。次のJavaScript変数は、複数の条件グループと条件行を使った検索を行うための、QUERYパラメータの設定方法を表しています。

var search2 = 'QUERY={"k":"Complicated Search All OK","mxPg":"10","mxRes":"0","ptr":"1","grp":[{"map":{"row":[{"map":{"rowRop":"equals","rowVal":"cn=bg1,ou=groups,ou=idmsample,o=novell","rowAttr":"group"}},{"map":{"rowRop":"contains","rowVal":"0","rowAttr":"FirstName"}}],"rowLop":"and"}},{"map":{"row":[{"map":{"rowRop":"not-present","rowVal":"","rowAttr":"TelephoneNumber"}},{"map":{"rowRop":"equals","rowVal":"cn=ablake,ou=users,ou=idmsample,o=novell","rowAttr":"directReports"}},{"map":{"rowRop":"equals","rowVal":"cn=cnano,ou=users,ou=idmsample,o=novell","rowAttr":"manager"}}],"rowLop":"and"}},{"map":{"row":[{"map":{"rowRop":"not-present","rowVal":"","rowAttr":"TelephoneNumber"}},{"map":{"rowRop":"equals","rowVal":"cn=ablake,ou=users,ou=idmsample,o=novell","rowAttr":"directReports"}},{"map":{"rowRop":"equals","rowVal":"cn=cnano,ou=users,ou=idmsample,o=novell","rowAttr":"manager"}}],"rowLop":"and"}}],"orderBy":"LastName","entDef":"user","sScope":"","sRoot":"","grpLop":"or","selAttr":["FirstName","Title","Email","TelephoneNumber"]}';

JSON設定の詳細は、セクション B.1.2, JSON形式の文字列を使ったクエリを参照してください。