1.3 カタログ情報アプリケーション
1.3.1 カタログ情報アプリケーションについて
格納されたカタログ情報は、本のタイトルなどのテキスト情報と、価格などの関連する構造化情報で構成されます。通常は、在庫に関してオンライン・カタログを最新の状態にしておくため、この情報は定期的に更新されます。
問合せは、通常、テキスト・コンポーネントと構造化コンポーネントとの組合せです。ほとんどの場合、問合せの結果は、日付や価格などの構造化コンポーネントでソートされます。このタイプの問合せアプリケーションでは、応答時間を短くすることが常に重要です。
カタログ・アプリケーションには、CTXCAT
索引が最も適しています。SELECT
文のWHERE
句でCATSEARCH
演算子を使用して、この索引を問い合せます。
図1-3に、catalog表とそのCTXCAT
索引、およびCATSEARCH
演算子を使用して索引を問い合せているカタログ・アプリケーションとの関係を示します。
ノート:
Oracle Textの索引タイプCTXCAT
は、Oracle Database 23aiでは非推奨です。索引タイプ自体とその演算子CTXCAT
は、将来のリリースで削除される可能性があります。CONTEXT
問合せの代替文法としてCTXCAT
およびCTXCAT
文法の使用はどちらも非推奨です。かわりに、Oracleでは、CONTEXT
索引タイプを使用することをお薦めします。索引タイプは、トランザクション以外のすべての同じ機能を提供できます。CONTEXT
でのトランザクションに近い動作は、SYNC(ON COMMIT)
または短い期間(できればSYNC(EVERY [time-period])
)を使用して実現できます。
CTXCAT
は、通常、索引のサイズが数メガバイトのときに導入されました。最近の大規模な索引は、CTXCAT
で管理が困難な場合があります。CTXCAT
への索引セットの追加は、CONTEXT
索引タイプでFILTER BY
列とORDER BY
列、またはSDATA
列(あるいはその両方)を使用することで、より効率的に実行できます。したがって、CTXCAT
が適切な選択になることはほとんどありません。Oracleでは、より効率的なCONTEXT
索引タイプを選択することをお薦めします。
1.3.2 カタログ問合せアプリケーションのフローチャート
カタログ・アプリケーションを使用すると、ユーザーは、カタログ内の特定の品目を検索できます。たとえば、オンライン・ストア・アプリケーションを使用すると、ユーザーは、在庫内の品目を検索して購入できます。通常、ユーザー問合せは、テキスト記述を検索するテキスト・コンポーネントと、その他いくつかの順序付け基準(価格や日付など)で構成されます。
図1-4に、オンライン電子ストアにおける、カタログ問合せアプリケーションのフローチャートを示します。
-
ユーザーが、テキスト・コンポーネント(cd playerなど)および構造化コンポーネント(order by priceなど)で構成される問合せを入力します。
-
アプリケーションが
CATSEARCH
問合せを実行します。 -
適宜並べ替えられた結果が表示されます。
-
ユーザーが結果をブラウズします。
-
ユーザーが別の問合せを入力するか、品目の購入などのアクションを実行します。