ブール演算とは?AND・OR・NOT検索の仕組みと使い方

ブール演算とは
複数のキーワードを用いて検索を行う際には、「A、B両方のキーワードを含むものを探したい」という以外に、「AまたはBというキーワードを含むものを探したい」(例:「学生」か「生徒」を含むものを探したい など)という場合や、「Aというキーワードは含むが、Bというキーワードは含まないものを探したい」(例:「京都」を含むが、「東京都」は含まないものを探したい など)という場合もあります。
また、「Aというキーワードをタイトルか著者名に含むものを探したい」、「Aというキーワードを著者名に含むがタイトルに含まないものを探したい」ということもあるでしょう。
そういった細かい条件指定を行う際に重要になるのが、「ブール演算(論理演算)」の考え方です。これは、「AND(論理積)」、「OR(論理和)」、「NOT(論理差)」という3つの「演算子」(コンピューターに何らかの処理を実行するように指示する記号)によって、検索条件の指定を行います。
AND(論理積)の使い方
「AND(論理積)」は、「A、Bのキーワード双方に合致するもの」、つまり「AかつB」である場合を指定します。以下の図では斜線が入った部分が「犬 AND 猫」で指定される範囲になります。

タイトルを対象に「犬 AND 猫」という検索条件を入力した場合、タイトルに犬を含む情報資源全体と猫を含む情報資源全体のうち、重なった部分が「犬 AND 猫」の条件に合致する部分です。また、多くの検索システムではキーワード同士をスペースで区切って入力すると、自動的に「AND」であると判定しています。
OR(論理和)の使い方
「OR(論理和)」は、「A、Bいずれかのキーワードに合致するもの」、つまり「AまたはB」である場合を指定します。以下の図では斜線が全体に入っていますが、これが「犬 OR 猫」で指定される範囲です。
タイトルを対象に「犬 OR 猫」という検索条件を入力した場合、タイトルに犬を含む情報資源全体と猫を含む情報資源全体のうち、重なった部分も含む全てが「犬 OR 猫」の条件に合致する部分です。

AND検索を備えていない文書検索システムは殆どありませんが、OR検索に関しては一部のシステムでしか備えておらず、その上、実際は取り入れているにも関わらずそのことが明示的に示されていない場合があります。
例えば、Googleでは検索キーワード入力欄に「検索したい語1 OR 検索したい語2」と入力するとOR検索を行うことができますが、知っている人は必ずしも多くはないと思われます。
NOT(論理差)の使い方
「NOT(論理差)」は、「Aというキーワードを満たすもので、Bというキーワードは満たさないもの」、つまり「AであるがBではない」場合を指定します。以下の図では斜線が入った部分がNOTで指定される範囲です。
タイトルを対象に「犬 NOT 猫」という検索条件を入力した場合、タイトルに犬を含む情報資源全体の中で、猫を含む情報資源を除いたものが、「犬 NOT 猫」の条件に合致する部分です。

なお、ANDとORはキーワードの順序に意味はありませんが(「犬 AND 猫」と「猫 AND 犬」の結果は同じ)、NOTは前後のキーワードを入れ替えると意味が大きく変わるので注意が必要です(「猫 NOT 犬」にすると、猫を含むものの中で犬を含まないもの、ということになります)。NOTを指定する記号としては、「NOT」のほか「-」(半角のマイナス)もしばしば使われます。
NOT検索もOR検索同様、一部のシステムしか取り入れていなかったり、取り入れているにも関わらずそれが知られていなかったりすることが多い機能です。例えば、Googleでは検索キーワード入力欄に「検索したい語 -(半角のマイナス)検索したくない語」と入力すると、NOT検索を行うことができますが、OR検索と同様にあまり知られていません。
ブール演算の組み合わせの注意点
ここまでは2つのキーワードのみを使ってブール演算を行う場合を説明しましたが、ブール演算は「A AND B AND C」や「A OR B NOT C」など、3つ以上のキーワードを対象に、2つ以上の演算子を組み合わせて行うこともできます。ただし、その場合、演算子の優先順位に注意が必要です。
ブール演算子は、基本的にNOT→AND→ORの順でコンピューター上では処理されます。例えば「タイトルに犬か猫を含み、かつ狸も含む情報資源」を検索したい場合、タイトルの検索入力ボックスに「犬 OR 猫 AND 狸」と入力してしまうと、ANDがORより優先されるため、「タイトルに犬を含むまたは猫と狸の両方を含む情報資源」が出てきてしまい、意図した結果は出ません。
このような意図しない結果を避けるために、コマンド式の検索システムでは「()」(括弧)が使用できるようになっています。()を付けると、数学と同様に、その中の式が優先的に処理されるようになります。先の検索の場合、「(犬 OR 猫) AND 狸」と書くと、目当ての検索結果が得られます。
まとめ
本記事では、インターネットやデータベースでの情報収集に欠かせない「ブール演算(論理演算)」の基本と応用について解説しました。
この仕組みを理解していると、Google検索などでもリサーチの精度とスピードが向上します。ぜひ「AND」「OR」「NOT」を日々の情報収集に活用しましょう。
日本レコードマネジメントでは、お客様ニーズに合った情報の保管・検索サービスを構築し提供しています。お気軽にお問い合わせください。
本記事は、当社広報室にて発信しています。















