例2: UI参照の実装

このシナリオでは、関連性ランキング・モジュールの追加によって、返されるレコードの順序がどのように変更されるかを示しています。

この例では、多少現実的になるよう規模を拡大し、ワインのデータセットを使用します。これは、関連性ランキングがユーザーに表示される結果にどのように影響するかを示しています。

このシナリオでは、最初は完全一致を参照していますが、シソーラスおよび関連性ランキングの機能を使用することによって、エンドユーザーがFlavorにアクセスした結果が検索した結果と類似したものになります。

まず、次のような2方向のシソーラス・エントリを確立します。
<THESAURUS>
  <THESAURUS_ENTRY>
    <THESAURUS_FORM>cab</THESAURUS_FORM>
    <THESAURUS_FORM>cabernet</THESAURUS_FORM>
  </THESAURUS_ENTRY>
  <THESAURUS_ENTRY>
    <THESAURUS_FORM>cinnamon</THESAURUS_FORM>
    <THESAURUS_FORM>spice</THESAURUS_FORM>
    <THESAURUS_FORM>nutmeg</THESAURUS_FORM>
  </THESAURUS_ENTRY>
  <THESAURUS_ENTRY>
    <THESAURUS_FORM>tangy</THESAURUS_FORM>
    <THESAURUS_FORM>tart</THESAURUS_FORM>
    <THESAURUS_FORM>sour</THESAURUS_FORM>
    <THESAURUS_FORM>vinegary</THESAURUS_FORM>
  </THESAURUS_ENTRY>
  <THESAURUS_ENTRY>
    <THESAURUS_FORM>dusty</THESAURUS_FORM>
    <THESAURUS_FORM>earthy</THESAURUS_FORM>
  </THESAURUS_ENTRY>
</THESAURUS>

これらのソーラスの等価関係を適用する前に、Dustyフレーバを検索した場合、83レコードが返され、Earthyフレーバを検索した場合、3,814レコードが返されます。

これらのソーラスの等価関係を適用した後は、Dusty属性を検索すると、DustyおよびEarthyの両方の結果が返されます。(一部のレコードはDustyとEarthyの両方の記述子でフラグ付けされているため、レコード数は2つを厳密に合計したものではありません。)
Wine (返される順で) Relevant属性
A Tribute Sonoma Mountain Earthy
Against the Wall California Earthy
Aglianico Irpinia Rubrato Dusty
Aglianico Sannio Earthy

アプリケーションはNameの昇順でソートしているため、DustyおよびEarthyの結果は混在しています。つまり、レコードがアルファベット順でソートされていたとき、2つのEarthyのレコードはDustyより前にあったため、Dustyで検索した場合でも、最初の2つの結果はEarthyで、3番目の結果はDustyとなります。

次に、ユーザーが同義のエントリを参照する際に、検索語Dustyに正確に一致するレコードを最初に返すようにするとします。そのため、結果を保証するためにInterpretedランキング・モジュールを使用します。
Wine (返される順で) Relevant属性
Aglianico Irpinia Rubrato Dusty
Bandol Cuvee Speciale La Miguoa Dusty
Beaujolais-Villages Reserve du Chateau de Montmelas Dusty
Beauzeaux Winemaker’s Collection Napa Valley Dusty

Interpretedランキングの方針を使用すると、結果は異なります。Dustyで検索すると、Dustyに一致するレコードがアルファベット順でソートされ、その後にEarthyに一致するレコードが続きます。前の例で3番目に返されていたワインAglianico Irpinia Rubratoは、この例では最初に返されます。