検索

14.4.3. 複合検索フィルターの使用

download PDF
複数の検索フィルターコンポーネントは、以下のように接頭辞表記で表現されるブール値演算子を使用して組み合わせることができます。
(Boolean-operator(filter)(filter)(filter)...)
boolean-operator は、表14.2「検索フィルターのブール値演算子」に一覧表示されているブール値演算子の 1 つになります。
たとえば、このフィルターは、指定された値を含まないすべてのエントリーを返します。
(!(cn=Ray Kultgen))
(!(objectClass=person))
当然のことながら、複合検索フィルターは、入れ子にして完成された表現にしたときに最も有効です。
(Boolean-operator(filter)((Boolean-operator(filter)(filter)))
これらの複合フィルタは、他のタイプの検索 (近似、部分文字列、その他の演算子) と組み合わせることで、非常に詳細な結果を得ることができます。たとえば、このフィルターは組織単位が Marketing で、説明フィールドに部分文字列 X.500 が含まれていないすべてのエントリーを返します。
(&(ou=Marketing)(!(description=*X.500*)))
このフィルターは、組織単位が Marketing で、部分文字列 X.500 を持たないエントリーや Julie Fulmer または Cindy Zwaska をマネージャーとして持つエントリーを返すように拡張できます。
(&(ou=Marketing)(!(description=*X.500*))(|(manager=cn=Julie Fulmer,ou=Marketing,dc=example,dc=com)(manager=cn=Cindy Zwaska,ou=Marketing,dc=example,dc=com)))
このフィルターは、人を表すことなく、共通名が printer3b と似たすべてのエントリーを返します。
(&(!(objectClass=person))(cn~=printer3b))
表14.2 検索フィルターのブール値演算子
演算子 記号 説明
AND & 文が true になるには、指定したフィルターはすべて true である必要があります。例: (&(filter)(filter)(filter)...)
OR | 文が true になるには、少なくとも 1 つのフィルターを true にする必要があります。例: (|(filter)(filter)(filter)...)
NOT ! 文が true になるには、指定の文が true にならないようにする必要があります。NOT 演算子の影響を受けるフィルターは 1 つだけです。例: (!(filter))
ブール値は、以下の順番で評価されます。
  • 一番内側から外側に向かって、親表現が優先されます。
  • 左から右へのすべての式。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.