シソーラス機能では、同等の単語または概念を含むテキストに問合せを一致させるためのルールを構成できます。
シソーラスは、単語およびフレーズの間の概念レベルのマッピングを指定することを目的としています。少数の熟考されたシソーラス・エントリでも、ユーザーの検索エクスペリエンスを大幅に向上させることができます。
シソーラスの一致および問合せ展開はステミングの等価関係を配慮するのに対して、ステミング・モジュールはシソーラスの等価関係を認識しないため、シソーラス機能はステミング機能より高度です。
たとえば、単語automobileとcarのシソーラス・エントリ・マッピングを定義し、carとcarsの間にステミングの等価関係がある場合、automobileの検索では、automobile、car、およびcarsの一致が返されます。carおよびcarsの問合せでも、同じ結果が返されます。
シソーラスは、複数単語の等価関係の指定をサポートします。たとえば、等価関係は、フレーズMark TwainがフレーズSamuel Clemensと代替可能であると指定します。1つの等価関係でフレーズ形式の単語数を混在させることもできます。たとえば、wine openerはcorkscrewと同等であると指定できます。
複数単語の等価関係は、フレーズ・ベースで一致します。たとえば、wine openerとcorkscrewの間のシソーラスの等価関係を定義した場合、corkscrewを検索すると、テキストstainless steel wine openerには一致しますが、テキストan effective opener for wine casksには一致しません。
たとえば、フレーズred wineからフレーズmerlotとcabernet sauvignonに1方向のマッピングを定義することを考えてみます。この1方向のマッピングでは、red wineの検索で、より具体的な語merlotまたはcabernet sauvignonを含む一致も返すことを保証します。しかし、ユーザーが具体的なmerlotまたはcabernet sauvignonのいずれかを検索した場合、より一般的なフレーズred wineの一致は返されません。
2方向のマッピングを定義する場合、元の語は指定しません。かわりに、2つ以上の先の語を指定します。
ステミング・モジュールとは異なり、シソーラス機能では、単一の単語またはフレーズに対する複数の等価関係を定義できます。複数の等価関係は、独立していて非推移的であるとみなされます。
たとえば、footballとNFLの間の等価関係、および別のfootballとsoccerの間の等価関係を定義します。これらの2つの等価関係では、NFLを検索すると、NFLのヒットおよびfootballのヒットが返され、soccerを検索すると、soccerおよびfootballのヒットが返され、footballを検索すると、football、NFL、およびsoccerのすべてのヒットが返されます。しかし、NFLを検索すると、soccerのヒットは返されません(その逆も同様です)。
シソーラスのこのような非推移的な性質は、footballのようなあいまいな語を含む等価関係を定義する際に役立ちます。単語footballは、soccerと同じ意味で使用されることもありますが、footballは、NFLでプロが行う、アメリカン・フットボールを意味することもあります。つまり、語footballはあいまいです。
あいまいな語の等価関係を定義する場合、具体的な意味を互いに重複させたくないこともあります。soccerを検索しているユーザーは、NFLのヒットは必要ありませんが、より一般的な語footballに関連するヒットは少なくともいくつか必要な場合もあります。
シソーラス・エントリは、基本的にはユーザーの問合せの代替の形を生成するために使用され、同様に追加の問合せ結果を生成するためにも使用されます。単一の検索問合せの最大3語がシソーラス置換の影響を受けることに注意してください。つまり、ユーザーの検索問合せの最大3単語までをシソーラス・エントリと置換できます。4単語以上がシソーラス・エントリと一致する場合、シソーラス・エンジンでは余分な単語は拡張されません。このシソーラス拡張制限は変更できません。
この動作は、シソーラスの形が重複するものが存在する場合に、特に重要です。たとえば、red wineとvino rossoとの間、およびwine openerとcorkscrewとの間でも等価関係を定義するとします。問合せred wine openerは、2つの異なる方法で、シソーラス・エントリに一致します(1つ目のエントリに基づいて、red wineはvino rossoにマップされ、2つ目のエントリに基づいて、wine openerはcorkscrewにマップされます)。
最大の展開ルールを使用して、可能性のあるすべての問合せに展開することによって、この問題は解決されます。つまり、Oracle Endeca Serverは、すべての問合せred wine opener、vino rosso opener、およびred corkscrewのヒットを返します。