Comments
Description
Transcript
Oracle Textテクニカル・ホワイト・ペーパー
Oracle Text オラクル・テクニカル・ホワイト・ペーパー 2002 年 3 月 Oracle Text 概要 ...................................................................................................................... 3 どこにでもあるテキスト .................................................................................. 3 Oracle Text............................................................................................................ 4 アーキテクチャ .................................................................................................. 5 Datastore オブジェクト................................................................................. 5 Filter オブジェクト ....................................................................................... 6 Sectioner オブジェクト................................................................................. 6 Lexer オブジェクト ...................................................................................... 6 Lexer プリファレンス............................................................................. 7 言語固有の機能............................................................................................. 7 西洋の諸言語 ........................................................................................... 7 マルチバイト言語 ................................................................................... 8 索引付けエンジン......................................................................................... 8 統合化テキスト検索機能の利点....................................................................... 9 Oracle Text の機能............................................................................................. 10 索引の型....................................................................................................... 10 索引のメンテナンスと同期化 ................................................................... 11 並列的な索引付け....................................................................................... 11 索引のパーティション化........................................................................... 12 クエリー・オペレータ............................................................................... 12 国際化........................................................................................................... 14 ドキュメント・サービス........................................................................... 16 ハイライト ............................................................................................. 16 マークアップ ......................................................................................... 16 テーマ抽出 ............................................................................................. 17 要旨 ......................................................................................................... 18 先進的な言語機能....................................................................................... 18 分類とクラスタリング ......................................................................... 18 ナレッジ・ベース ................................................................................. 20 パフォーマンス ................................................................................................ 21 Oracle Text の使用............................................................................................. 22 Oracle Text による索引作成 ....................................................................... 22 XML のサポート......................................................................................... 24 XML ドキュメントの内容と構造の検索 ................................................. 25 Oracle Ultra Search および Oracle Internet File System ................................... 26 Oracle Ultra Search ....................................................................................... 26 Oracle Internet File System........................................................................... 27 JDeveloper Wizard.............................................................................................. 28 Oracle9i Release 2 の新機能 ............................................................................. 28 結論 .................................................................................................................... 29 参考資料 ............................................................................................................ 29 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 2 Oracle Text 概要 Oracle の統合的フルテキスト検索テクノロジである Oracle Text は、Oracle9i Enterprise Edition および Standard Edition の一部です。Oracle Text では、Oracle デー タベース、ファイル、ウェブに格納されたテキストとドキュメントに索引を付け、 これらを検索し、分析するために、標準 SQL が使用されます。Oracle Text では、 ドキュメントの言語学的分析が行え、またキーワード検索、コンテキスト・クエ リー、ブール演算、パターン照合、混合テーマ・クエリー、HTML/XML セクショ ン検索など、様々な方法を使用してテキストの検索ができます。Oracle Text は混 合クエリー、つまりテキストと構造化リレーショナル属性に関する問合せに対し て優れています。 Oracle Text では検索結果を、フォーマットなしのテキスト、用語がハイライトさ れた HTML、オリジナルのドキュメント・フォーマットなど、様々なフォーマッ トで表わすことができます。Oracle Text は複数の言語をサポートし、検索の質を 高めるため、先進的な関連性ランキング・テクノロジを使用しています。 どこにでもあるテキスト 多くの企業では構造化データよりテキス ト・データを大量に所有していますが、 概してそのテキスト・データを有効利用 できずにいます。 過去 10 年間、企業はデータベース・システムに格納された構造化データへの迅速 なアクセスを可能にするシステムに、多額の投資を行ってきました。しかしこの データは企業情報全体の一部分でしかありません。大量のデータが、ドキュメン ト、ウェブ・ページ、マニュアル、レポート、E メール、ファックス、プレゼン テーションに、テキストとして存在します。これら価値ある戦略的ビジネス情報 ソースは、しばしばアクセス不能であり、コスト対効果に優れた方法で管理され ていません。組織の情報にアクセスするユーザーは、イントラネット・ポータル を訪れる従業員であろうと、カタログを検索するバイヤーであろうと、その望む ものを見つけるためにテキスト検索インフラストラクチャによる高度なサポート を必要とします。 様々な組織には十分に利用されていない多くのテキストがあります。テキスト資 産は、もはや静的、物理的な存在ではありません。最新のテクノロジを使用する ことで、企業は、多くのソースから集めたテキスト情報を格納するグローバルに 相互接続されたシステムを構築できます。重要なテキスト資産も、見つけだすこ とができずに、隠れていることがあります。わるい検索機能は、反対に高くつき ます。 組織のテキスト情報の価値を開放することは、これまで長い間難問とされていま した。過去、テキストの検索と管理には他のビジネス・データとは別の一群のテ クノロジが必要であると考えられていました。この誤った認識のため、組織は複 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 3 数の格納・検索システム、複数の開発環境という負担を負っていました。これは、 企業の全情報資産の効果的な統合を妨げています。 この誤った認識の名残りとして、今日多くの企業はテキスト検索のニーズと構造 化データ(データベース)検索のニーズのために、それぞれ別々の製品を購入し ています。この方法は、別々の製品の購入、統合、運用、メンテナンスというラ イフサイクル全体のコストを高めるだけでなく、アプリケーションの開発でも貧 弱なパフォーマンスと長い待ち時間をもたらします。その上、特別なサーバーの サプライヤから企業データベースの高い信頼性とスループット、そしてマルチプ ラットフォームのスケーラビリティが得られることは稀です。 テキストとその他非構造化データをも含む全企業情報にまで、リレーショナル・ データベース・システムの機能と利点を拡張できるとしたらどうでしょうか?結局、 テキスト・データは実際のデータベースのインフラストラクチャを保証する実際 のデータであり、アプリケーション開発のための立証済みのツールなのです。こ の文書では、Oracle Text の形態によるこのようなアプローチを検討します。 Oracle Text Oracle Text: オラクルのフルテキスト検 索機能は、Oracle9i Standard Edition および Enterprise Editions に搭載されています。 Oracle Text(旧 interMedia text)は、完全なテキスト検索ソリューションを提供し ます。Oracle Text は Oracle9i Enterprise Edition および Standard Edition の両方に含 まれています。Oracle データベース・ユーザーは Oracle Text があるため、別のテ キスト検索製品を評価・購入し統合する必要がありません。 Oracle Text は従来のフルテキスト検索アプリケーション、たとえばウェブサイト 検索、E ビジネス・カタログ、ドキュメント分類およびルーティングのアプリケー ションや、テキスト・ウェアハウジング、ドキュメント・ライブラリ、アーカイ ブその他のために、特化したテキスト索引を提供します。 Oracle Text は、複数の異なるドキュメント・フォーマットから内容をフィルタリ ングし抽出できます。また Microsoft OfficeTM のファイル・フォーマット、Adobe PDFTM 系のフォーマット、HTML と XML など、馴染みのあるものを含む 150 以 上のドキュメント・フォーマットをサポートします。 Oracle Text は市販製品のうち最高の多言語諸機能を備え、ヨーロッパの諸言語(英 語、フランス語、スペイン語、ドイツ語その他)、日本語、韓国語、タイ語およ び中国語(繁体字、簡体字)で書かれたドキュメントの検索をサポートします。 Oracle9i の一部として機能する Oracle Text は、次のように Oracle9i の主要な企業 機能と透過的に統合され、これら機能の恩恵を受けます。 • データのパーティショニング(スループットと可用性向上のため) • Real Application Clustering または並列サーバー(サーバーのスケーラビリ ティを最大にするため) • 問合せの最適化 • ツールと開発環境 • 管理と管理性 • 統合的セキュリティ Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 4 このような様々な面での統合化は、システム管理者にとっても大きな恩恵です。 システム管理者は組織のテキスト資産の管理を学ぶためパラダイムの変更をする 必要がないからです。 Oracle Text は、Oracle9i Application Server Portal(Oracle9i AS Portal)、Oracle E-Business Suite、Oracle eXchange、Oracle Ultra Search、Oracle Internet File System など、他の Oracle 製品の中でも中核の位置を占める製品です。Oracle Text は、 Oracle.com や Oracle Technology Network など、オラクルのウェブサイトの原動力 です。 アーキテクチャ この項では、Oracle Text でテキストを処理するメカニズムについて説明します。 このプロセスはパイプラインと考えることができます(図 1)。この項では各ス テージについて説明し、また各ステージで利用可能ないくつかのオプションにつ いて説明します。 Internet Stoplist O/S file system Wordlist Markup Mark-up Datastore Documents Filter Sectioner Text Lexer Token Indexing Engine Text Indexes 図 1: 索引付けのアーキテクチャ Datastore オブジェクト Oracle Text が索引を付けるテキストは、データベース、ファイル・システムまた は URL の中に格納できます。URL にデータを格納した場合、他のサーバー上に リモートで格納され、 HTTP または FTP プロトコルを使用しアクセスされるドキュ メントをデータベースから管理できます。格納ロケーションには次のような選択 肢があります。 データベース内: 索引が付けられるテキストは、データベース内の任意の文字列 (普通、最大 4KB のテキストを収容)または LOB(Large Object - 最大 4GB の文 字データまたはバイナリ・データを収容)に格納されます。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 5 ファイル・システム内: 索引が付けられるテキストは、データベース・サーバー・ マシンからアクセス可能な任意のファイル・システムに格納されます。 ウェブ上: 索引が付けられるテキストは、インターネットまたはイントラネット 上の URL からアクセスできます。 ユーザーによる定義:索引が付けられるテキストは、任意の PL/SQL プロシージャ の出力です。このためユーザーは索引付けの対象を完全にコントロールできます。 作成された索引は、常時データベースに保持されます。 Filter オブジェクト 当初、ワールドワイド・ウェブの大部分は、HTML ファイルとプレーンテキスト・ ファイルで構成されていました。しかし、徐々にその他のファイル・フォーマッ トがイントラネットやエクストラネットで使用され始めました。Adobe PDFTM は マニュアル、販売用パンフレットその他のオンライン・バージョンで広く使用さ れています使用されています。様々なワープロ独自のフォーマットによる文書も、 しばしばウェブサイトその他で直接保存されています。 Oracle Text は、Microsoft OfficeTM のファイル・フォーマット、Adobe PDFTM 系の フォーマット、HTML、XML など、馴染みのあるものも含む 150 以上のファイル・ フォーマットのフィルタを備え、これらフォーマットは 1 コラム内に混在できま す。フィルタの出力は HTML フォーマットで行われます。このためフィルタは、 ドキュメントに示された見出しや表題などの情報を維持でき、ドキュメントの特 定部分の検索に使用されます。 またアプリケーション開発者は、フィルタ・モジュールを独自のカスタム・フィ ルタ、あるいはサードパーティから購入したフィルタに交換できます。カスタム・ フィルタは、2 つの引数を取る実行可能プログラムまたはスクリプトです。第 1 の引数はフォーマット済み入力テキストを含んだファイル、第 2 の引数はフィル タリング後の出力が書き出されるファイルの名称です。 必要に応じ、カスタム・フィルタは標準の“autorecognize”フィルタをコールできま す。これによりカスタム・フィルタは、ビジネスに固有のどんなファイル・フォー マットも処理できる一方で、あらゆる標準ファイル・フォーマットを標準フィル タに引き渡すことが可能となります。 Sectioner オブジェクト Sectioner オブジェクトは、各テキスト・ユニットの内容セクションを特定します。 これらセクションは通常、あらかじめ定義された HyperText Markup Language (HTML)または eXtensible Markup Language(XML)によるセクションです。また 選択によっては、Sectioner はあらゆるタグをセクションのデリミタとして処理で きます。例: <TITLE>XML Handbook</TITLE>このため、WITHIN オペレータを 使用してタグ間の検索ができます。WITHIN の使用については、XML 検索の項で 説明します。 Lexer オブジェクト Lexer は、Sectioner からの出力をワードまたはトークンに分離します。西ヨーロッ パ言語の最も単純なケースの場合、Lexer はテキストを複数の連続的な英数文字列 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 6 に分割するのみです。したがって、次の文字列、 Aha! It’s the 5:15 train, coming here now! は、複数のワードに分割されます。ただし句読点、特殊記号は除かれます。 “aha it s the 5 15 train coming here now” Lexer は普通ストップワードを取り除きます。ストップワードはアプリケーション 開発者により定義された、あるいはデフォルト・リストから取り出された普通の 語です。したがって上のリストはおそらく次のようになるでしょう。 “aha * * * 5 15 train coming * now” 取り除かれたストップワードを表すアスタリスクに注意してください。実際には、 ストップワードに索引は付きませんが、ストップワードがその位置にあることは、 索引で注記されます。検索では、どのストップワードもフレーズ中で使用された ストップワードに一致します。たとえば、「kicking the ball」は「kicking a ball」と 一致しますが、「kicking ball」とは一致しません。 ストップワードのセットは、アプリケーションで指定される場合があります。数 字はすべて暗黙的に、ストップワードとして定義される場合があります。 Lexer プリファレンス テキストをどのようにトークンに細分するかについて、様々なオプションが定義 できます。たとえば、文字の結合を定義でき、この結果「it’s」は「its」あるいは 「it’s」のどちらかで索引が付けられます。 言語固有の機能 Oracle Text は多くの言語をサポートします。 西洋の諸言語 基本文字変換 − アクセント付きの文字は、アクセントなしの形にノーマル化でき ます。したがって「acción」の検索では「accion」と「acción」両方に一致します。 別スペリング − ドイツ語など、いくつかの言語では、アクセント付き文字を持つ 語に別のスペリング方法があります。たとえば、「Muenchen」と「München」は 同一の語と見なされます。別スペリング索引オプションが選択された場合、両方 の語に「Muenchen」として索引が付けられます。これと同じ変換が問合せのとき に適用されるため、どちらの語を検索しても索引中の「Muenchen」に一致します。 複合語の処理 − Oracle Text は、ドイツ語、オランダ語に見られる複合語処理のた めのテクノロジを備えています。複合語は、索引用に要素形態に細分されます。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 7 マルチバイト言語 記号言語には、西洋の諸言語のようにスペースで区分されたワードがありません。 どのようにして文字グループに索引付けするかを決定するには、別のルールが必 要です。Oracle Text は、中国語、日本語、韓国語のテキストのために、特別な Lexer を提供します。次のコマンドは、日本語 Lexer の設定方法を示します。 exec ctx_ddl.create_preference('JAPANESE_LEXER','japanese_vgram_lexer'); 多言語な検索アプリケーションを構築することも可能です。検索のとき、アプリ ケーションは NLS_LANG 環境変数を点検し、ここからキーワード分割に用いられ る Lexer を判定します。次の JSP コードの断片は、その方法の核心を示します。 … // Connect to the database; create a Statement Statement stmt = conn.createStatement (); String sql; ResultSet rset; // Set NLS_LANGUAGE and NLS_TERRITORY // Oracle Text uses these values to choose a lexer. if (language.equals("ZH")) { sql = "Alter session set NLS_LANGUAGE = 'TRADITIONAL CHINESE'"; rset = stmt.executeQuery (sql); sql = "Alter session set NLS_TERRITORY = 'TAIWAN'"; rset = stmt.executeQuery (sql); } else if (language.equals("JP")) { sql = "Alter session set NLS_LANGUAGE = 'JAPANESE'"; rset = stmt.executeQuery (sql); sql = "Alter session set NLS_TERRITORY = 'JAPAN'"; rset = stmt.executeQuery (sql); } else if (language.equals("KO")) { sql = "Alter session set NLS_LANGUAGE = 'KOREAN'"; rset = stmt.executeQuery (sql); sql = "Alter session set NLS_TERRITORY = 'KOREA'"; rset = stmt.executeQuery (sql); } sql = "select title, score(1) from sample_doc "; sql += "where contains (text, '" + keyword + "', 1)>0 "; sql += "order by score(1) desc"; rset = stmt.executeQuery (sql); while (rset.next ()){ // Iterate through the result and print the search results } rset.close(); stmt.close(); … 索引付けエンジン 逆向きの索引付けエンジンは、トークンを含んだドキュメントにトークンを対応 付ける、逆向きの索引を生成します。この段階で Oracle Text は、指定されている 場合、ストップリストを使用します。ユーザーはこのリストで、ストップワード またはストップテーマを指定あるいはテキスト索引から除外することができます。 パイプラインの最後の出力は逆向きの索引です。これはドキュメント中のワード のリストで、各ワードには、それが出現するドキュメントのリストが付随します。 これが「逆向き」と言われるのは、テキスト(ドキュメントのリストで、各ドキュ メントはワードのリストを含んでいる)を見る通常の方法を逆にしたものだから Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 8 です。 統合化テキスト検索機能の利点 Oracle9i は、開発者がデータベース・カーネルの認識するデータ型を拡張できる よう、拡張性のフレームワークを提供します。Oracle Text はこのフレームワーク を使用し、テキスト索引を標準 Oracle クエリー・エンジンと完全に統合します。 これにより、ユーザーは次のものを得ることができます。 • 全データ(テキスト・データと構造化データ)のために、2 つではなく 1 つのレポジトリこれはメンテナンス、バックアップその他が容易です。 • 同一のレポジトリ中に複数の索引これにより、テキスト・クエリーと混合 クエリーの処理が非常に効率的となります。 • アプリケーション開発のための 1 つの API • オプティマイザの統合 コスト・ベース・オプティマイザは、問合せのランタイム特性に基づき最速の実 行プランを選択できる必要があります。このため、Oracle Text はテキスト述語を 列と比べて評価する 2 つの異なる方法を提供します。 • 拡張性フレームワークはテキスト索引を行ソースとして設定し、述語に一 致した ROWID をカーネルにパイプラインで送ることができます。 • 拡張性フレームワークは、「この ROWID を持つ行は述語に一致するか?」 という問いに答えることができます。 要約すれば、統合の利点は次のとおりです。 • 低コスト Oracle Text は Oracle9i Enterprise Edition および Standard Edition の一部です。 別の製品を購入したり、統合する必要はありません。 • 高いパフォーマンス データベースは、テキストと構造内容両方に関する問合せ実行のため、最 速のプランを選択します。 • 高い整合性 テキストはデータベース内に格納されるため、整合性の利点すべてを継承 します。たとえば、データベースの更新はテキスト検索機能に反映させる ことができます。このことは、ユーザーがその全データの統合的、全体的 なビューを得られることを意味します。 • 簡単な組み立て テキストは構造化データとまったく同様に扱われます。テキスト検索アプ リケーションを開発し、既存システムと統合することは容易です。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 9 • 優れた管理性 Oracle Text は管理者の通常のスキルで標準的な企業管理ツールを使用し 管理できます。 Oracle Text の機能 この項では、Oracle Text の主要機能について詳細に説明します。 索引の型 Oracle Text は、従来のフルテキスト検索、 E-Business カタログ、分類アプリケーショ ンおよびルーティング・アプリケーショ ンに対して索引型を提供します。 Oracle Text には、標準、カタログ、分類の 3 つの索引の型があります。この 3 つ でテキスト検索のニーズすべてに対応します。表 1 は 3 つの索引の型の概観を示 します。 • 標準の索引型 − ドキュメントやウェブ・ページでの従来のフルテキスト 検索用。context 索引型は一連の豊富なテキスト検索機能を備え、不純 な検索結果を含んだページを返すことなく、必要とする内容を見つけます。 • カタログ索引型 − E-Business カタログ用に特に設計された最初のテキス ト索引。 ctxcat カタログ索引型はウェブ・スピードでの柔軟な検索とソー トができます。 • 分類索引型 − 分類アプリケーションまたはルーティング・アプリケー ションの構築用。ctxrule 索引型はクエリーの表に基づき作成されます。 この表でクエリーは分類またはルーティングの基準を定義します。 索引の型 アプリケーションの型 クエリー・オペレータ CONTEXT テキストが大量のコヒーレントなドキュメントの場合、テ キスト検索アプリケーションを構築するために、この索引 を使用します。MS Word、HTML、XML またはプレーン テキストなど、様々なフォーマットのドキュメントに索引 付けができます。CONTEXT 索引では、ユーザーは様々な 方法で索引をカストマイズできます。 CONTAINS CTXCAT 列に格納された項目名、価格、説明などの小さなテキスト CATSEARCH 断片に索引を付ける場合、この索引型を使用します。この 索引の場合、混合クエリーの問合せのパフォーマンスが向 上します。 CTXRULE ドキュメント分類アプリケーションの構築には CTXRULE 索引を使用します。CTXRULE 索引は、クエリーの表に基 づき作成された索引で、各クエリーはこの表で分類されま す。各ドキュメント(プレーンテキスト、HTML または XML)は MATCHES オペレータを使用し分類できます。 MATCHES 表 1: 索引型の概観 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 10 Oracle Text はまた、サブストリングとプレフィックスの索引もできます。サブス トリングの索引付けにより、左側が切断された、あるいは両側が切断されたワイ ルドカード・クエリーのパフォーマンスが向上します。プレフィックスの索引付 けにより、右側が切断されたワイルドカード・クエリーのパフォーマンスが向上 します。 索引のメンテナンスと同期化 索引の同期化は、表に対して行われようとしている更新、挿入、削除すべての処 理に関係します。 次の例では、2MB のメモリーを持つ part_one 索引パーティションが同期化され ます。 exec ctx_ddl.sync_index(‘text_idx’,’2M’,’part_one’); これにより、複数のコンテキスト型索引の同期化が並列的に実行できます。ユー ザーは、新たにパラメータ parallel_degree を使用し任意の数のスレーブを指 定できます。 リリース 9.0.1 では、索引付けの場合、同期化によりベース表中の各行がロックさ れます。したがって、長時間実行される同期化操作は、ユーザーからベース表の 行へのアクセスを長時間妨げることがあります。リリース 9.2.0 ではロック・メカ ニズムが書き直され、索引付けの最後で行がロックされるようになりました。こ れによりユーザーからのアクセスが妨げられる空白時間が、大幅に削減されます。 並列的な索引付け 以前のバージョンの並列的索引作成では、dbms_jobs が使用され、並列的索引作 成はパーティション化された表にグローバル索引を作成する場合にのみ適用可能 でした。今回のバージョンでは並列性のサポートが書き直され、パーティション 化されていない表での並列的な索引作成がサポートされています。 並列的な索引作成が有益なのは次の理由のためです。 • パフォーマンスの向上 • データ・ステージング • 大量のデータ収集に基づく迅速なアプリケーションの初期起動 • アプリケーションの開発中に、様々な索引パラメータとスキーマをテスト する必要がある場合のアプリケーション・テスト 次の例では、ディグリー3 のテキスト索引が作成されます。 CREATE INDEX myindex ON docs(tk) INDEXTYPE IS ctxsys.context PARALLEL 3; Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 11 図 2 は、テキスト索引の並列的な作成がどのように行われるかを示します。Oracle Parallel ファシリティは並列性の程度(ディグリー)に従い、表を断片(部分)に 分割します。各並列スレーブは、表の 1 部分に対して作用します。 図 2: テキスト索引の並列的な作成 索引のパーティション化 Oracle9i では、ローカルのパーティションにテキスト索引を作成できます。その 主な利点は次のとおりです。 • 管理性。管理者は、索引をどのようにパーティション化するか、どのパー ティションをオンライン/オフラインにするか、どのパーティションを バックアップするか、などを決定できます。 • パフォーマンス。索引のパーティション化によりパフォーマンスは大きく 向上します。 クエリー・オペレータ Oracle Text では、検索クエリーをインテリジェントに処理できるよう、いくつか のストラテジが使用されます。 • キーワード検索。ドキュメント中のキーワードの検索。ユーザーは問合せ を最もよく記述する1つ以上のキーワードを入力します。 • コンテキスト・クエリー。あるコンテキスト中の用語検索。ユーザーは互 いに似ている語を含んだテキストを検索します。 • ブール演算。キーワードとブール演算との組合わせ。ユーザーは、ブール 演算をキーワードに結び付けて問合せを表現できます。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 12 • 言語特性。ファジー、その他の自然言語処理手法を使用。ユーザーはある 事についてのテキストを検索します。 • パターン一致。一定の特性をもつテキストの検索。ユーザーは、ある文字 列を含んだ語を持つテキストを検索します。 表 2 は、いくつかのクエリー・オペレータを示します。 オペレータ 説明 ABOUT ABOUT クエリーの場合、 同一の問合せで返され る関連ドキュメントの数が増加します。 ACCUMulate (,) 問い合せた複数の用語のどれかが 1 回以上出現 するドキュメントを検索します。 AND (&) 問い合せた複数の用語のそれぞれが 1 回以上出 現するドキュメントを検索します。 Broader Term (BT, BTG, BTP, BTI) シソーラスでより広いまたは高いレベルの用語 として定義された用語を含むよう、クエリーを 拡張します。 EQUIValence (=) 問合せ中の用語の代替となる用語を指定しま す。 Fuzzy 指定した用語に似たスペリングを持つ用語を含 むよう、クエリーを拡張します。 HASPATH 指定したセクション・パスを持つすべての XML ドキュメントを検索します。 INPATH XML ドキュメントのパスを探索します。 MINUS (-) 問い合せたある用語を含むドキュメントの検索 で、問い合せた 2 番目の用語を持つドキュメン トのランクを低くしたい場合に使用します。 Narrow Term (NT, NTG, NTP, NTI) シソーラスで特定の用語より狭いまたは低いレ ベルの用語として定義されたすべての用語を含 むよう、クエリーを拡張します。 NEAR (;) 問い合せた 2 つ以上の用語の親近性に基づきス コアを返します。 NOT (~) 問い合せたある用語を含み別の用語を含まない ドキュメントを検索します。 OR (|) 問い合せた複数の用語のどれかが 1 回以上出現 するドキュメントを検索します。 Preferred Term (PT) 問合せ中の用語を、シソーラスがそれより優先 的と定義した用語と置換します。 Related Term (RT) ある用語についてシソーラスで定義された関連 語をすべて含むよう、クエリーを拡張します。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 13 Soundex (!) 類似のサウンドを持つ用語、つまり別の用語の ように響く語を含むよう、クエリーを拡張しま す。 Stem ($) 問い合せた用語と同一の語源を持つ用語を検索 します。 Stored Query Expression (SQE) CTX_QUERY.STORE_SQE プロシージャで作成 され格納されたクエリー式をコールします。 SYNonym (SYN) 指定された用語との同義語として、シソーラス で定義されたすべての用語を含むよう、クエ リーを拡張します。 Threshold (>) このオペレータは式レベルで、結果集合からス レショルド数以下のスコアのドキュメントを除 外します。このオペレータは問合せを行った用 語のレベルで、ドキュメント中の用語のスコア に基づきドキュメントを選択します。 Translation Term (TR) 問い合せた用語に相当する定義済みの外国語す べてを含むよう、クエリーを拡張します。 Translation Term Synonym (TRSYN) 問い合せた用語に相当する定義済みの外国語、 問い合せた用語の同義語、および同義語に相当 する外国語すべてを含むよう、クエリーを拡張 します。 Top Term (TT) 問合せ中の用語を、シソーラスでその用語に関 する標準的階層の最上部に定義された用語と置 換します。 Weight (*) スコアに一定の係数を掛け、スコアが 100 を超 えた場合、100 を上限とします。 表 2: クエリー・オペレータの概要 国際化 企業の活動がグローバルになるとともに、全世界に分散した事業組織にとって多 言語機能が重要になります。企業のポータル、ライブラリあるいはコンテンツ管 理システムは、別言語で書かれた、あるいは別のキャラクタ・セットでコード化 された可能性のあるコンテンツの検索が必要となります。XML の出現とともに、 多言語メタデータ、多言語コンテンツの検索機能がますます重要視されるように なりました。 Oracle Text は、業界で最もグローバル化 したエンジンです。 Oracle Text は、すべての Oracle NLS キャラクタ・セットをサポートします。たと えば ASCII、UTF-8、JA165JIS、GBK、BIG5 などです。Oracle Text は、ヨーロッ パの諸言語(英語、フランス語、スペイン語、ドイツ語、その他)、日本語、韓 国語、中国語(旧体字および簡体字)で書かれたドキュメントの検索をサポート します。 このような多言語機能により、ユーザーは多言語での検索アプリケーションが開 発でき、その上、次のことができます。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 14 • ドキュメントのコレクションに複数言語を混在させること(例: 中国語と 英語のドキュメント) • 中国語の問合せに英語を使用すること。またはその反対。次の問合せでは、 説明に‘monitor’またはこれに相当する中国語が含まれている製品が検索 されます。 select score(1), product_id, product_name from product_information where contains ( product_description, 'TRSYN(monitor, Chinese)', 1)>0 order by score(1) desc ; 図 3 は、中国語テキストで、これら機能を使用するいくつかの例を示します。 図 4 は、日本語テキストでの同じ諸機能を示します。 図 3: 中国語ドキュメントで語をハイライトさせた多言語検索 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 15 図 4: 日本語ドキュメントで語をハイライトさせた多言語検索 ドキュメント・サービス Oracle Text により選択したドキュメント を、問合せがハイライトされた語、マー クアップ、テーマおよび要旨を使用して プレゼンテーションできます。 Oracle Text には、主なドキュメント・サービス機能として、ハイライト、マーク アップ、テーマ、要旨があります。このタイプのサービスは、ストラテジを概観 し、ドキュメントのプレゼンテーションを行うためにきわめて有益です。またユー ザーへの情報のフィードバックもこのサービスに含まれます。 ハイライト このサービスでは、問合せ文字列が取り上げられ、ドキュメント内容がフェッチ され、ドキュメント中のどの語が問合せに一致するか、ユーザーに示されます。 マークアップ これはハイライト・サービスを一歩進めたもので、マークアップされた一致語で ドキュメントのテキスト・バージョンが作成されます。図 5 は、Servlet と XSQL の 2 語をハイライトした HTML ドキュメントのスクリーンショットです。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 16 図 5: ハイライトされた語を持つ HTML ドキュメント 従来のテキスト検索機能を補完するため、Oracle Text は先進的な言語機能を備え ています。この機能により、ユーザーはドキュメント・テーマまたはテーマの要 約を、オンデマンドでドキュメントごとに作成できます。 テーマ抽出 テーマは、ドキュメントの主題を述べたスナップショットです。特定の用語また は句を含んだドキュメントを検索するかわりに、ユーザーは特定の主題について ドキュメントを検索できます。たとえその主題がドキュメント中で明示的に述べ られていない場合でも、検索できます。テーマ・クエリーは、要求された主題に 関するドキュメントのヒット・リストとともに、各ドキュメントがその主題にど れほど強く反映されているかを示したスコアを返します。 図 6 は、Java と JDeveloper に関するドキュメントへのテーマ抽出の出力を示しま す。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 17 図 6: Java と JDeveloper に関するドキュメントのテーマ抽出 要旨 一般的要旨は、ドキュメントの全体的主題を最もよく表現した文、またはパラグ ラフからなるサマリーです。ユーザーは、これを使用してテキストの主要内容を 概観し、あるいはテキストの主題に対する自分の関心を評価できます。ユーザー は、パラグラフ・レベルまたは文レベルで要旨を生成できます。 先進的な言語機能 分類とナレッジ・ベースは、インテリジェ ント・テキスト・アプリケーション構築 のための構成要素の中核となります。 分類とクラスタリング ドキュメント分類アプリケーションは、入ってくるドキュメントのストリームを ドキュメント内容に基づき分類するアプリケーションです。このアプリケーショ ンは、ドキュメント・ルーティング・アプリケーション、あるいはドキュメント・ フィルタ処理アプリケーションとも呼ばれます。たとえば、オンライン・ニュー ス・エイジェンシーは、入ってくる記事のストリームが到着するたびに、政治、 経済、スポーツなどのカテゴリーに分類する必要があるかもしれません。 Oracle Text は新しい CTXRULE 索引型により、このようなアプリケーションの構築 を可能にします。この索引型は、分類基準またはルーティング基準を定義するルー ル(問合せ)に索引を付けます。到着したドキュメントに対しては、各ドキュメ ントをカテゴリーに分ける新しい MATCHES オペレータを使用できます。図 7 は、 分類アプリケーションの主要構造を示します。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 18 図 7: 分類アプリケーションの構造 CTX_CLS パッケージは、一連のドキュメントのために CTXRULE クエリー・ルー ルを生成します。このクエリールールの生成には、カテゴリー分けされた複数の ドキュメントからなるトレーニングセットが必要で、各ドキュメントは 1 つ以上 のカテゴリーに属している必要があります。パッケージは、カテゴリーを定義す るクエリーを生成し、次いで結果を表に書き出します。図 8 は、医学分野での分 類アプリケーションの例を示します。右側の表示は、問い合せた用語(heart failure) をハイライトし、この用語を含んだドキュメントを示します。 図 8: 医療分野向けの分類アプリケーション Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 19 分類とは反対に、クラスタリングは、監視されることなくパターンをグループに 分類します。Oracle Text はクラスタを構築するため CTX_CLUSTER パッケージを 提供します。 このパッケージは一連のドキュメントを、 その意味にしたがい k-mean アルゴリズムを使用し自動的にクラスタにします。各クラスタには、コレクショ ンのドキュメント・サブセットが含まれます。クラスタ中のドキュメントは、そ の外にあるドキュメントより互いに類似していると判断されます。このパッケー ジは現在、OTN から入手可能です。 ナレッジ・ベース Oracle Text のナレッジ・ベースは、2000 の主要カテゴリーに分類された、きわめ て広範な分野の概念を 40 万以上含んでいます。これらのカテゴリーは、ビジネス および経済、科学技術、地理、統治および軍事、社会環境、抽象的概念の 6 つの 最上位の項目を頂点にし、階層的に組織されています。概念の分類、カテゴリー の選択、階層的組織はすべて、存在論的純粋性よりも情報検索上での有益性を目 的として慎重に設計され、曖昧性の問題を避けることが特に重視されています。 ユーザーは、新規用語の追加または既存の用語の検索により、このナレッジ・ベー スを拡張でき、またカストマイズできます。たとえばユーザーは、医学シソーラ スをインポートし、その後ナレッジ・ベースを拡張できます。図 9 は、医学シソー ラスの階層構造の表示です。 図 9: Oracle Text のシソーラスを管理する Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 20 パフォーマンス 図 10 は、context 索引型を使用した Oracle Text と、最もよく知られたテキスト 特化型検索エンジンの一つ(“TCOMP”と呼ばれる)とのパフォーマンスの比較を 示します。通常、Oracle Text のパフォーマンスは、1 ユーザー、1 クエリーのテス トではファイル・ベースのテキスト検索エンジンとほぼ同じです。しかし、シス テムにストレスが加わるにつれ、Oracle の優れたスケーラビリティにより、Oracle Text はすぐにファイル・ベースのエンジンより優れたパフォーマンスを示します。 次に示すテストは、小さな部門マシンで動作する実際の E-Business サイトのシ ミュレーションです。 Throughput Comparison Queries per Second 80.00 70.00 60.00 CONTEXT Queries per second 50.00 40.00 TCOMP Queries per second 30.00 20.00 10.00 0.00 0 10 20 30 Number of Users 図 10: スループットの比較 図 11 は同じテストを示したものですが、スループットではなく問合せ時間をレ ポートしています。 Query Time Comparison 4000 Query Time (100ths of a second) Oracle の利点: 優れたパフォーマンス。 3500 3000 CONTEXT Longest (s/100) 2500 2000 CONTEXT Average (s/100) 1500 TCOMP Average 1000 500 0 0 10 20 30 Number of Users 図 11: 問合せ時間の比較 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 21 Oracle Text の使用 この項では、前述した Oracle Text の主要機能について、いくつかのシンタクスと 使用例を提示します。 Oracle Text による索引作成 次の表にいくつかの典型的な製品情報が含まれているものとします。 describe product_information Name Null? Type ------------------------ ------- ---------------PRODUCT_ID NOT NULL NUMBER(6) PRODUCT_NAME VARCHAR2(50) PRODUCT_DESCRIPTION VARCHAR2(2000) CATEGORY NUMBER(2) PRODUCT_STATUS VARCHAR2(20) LIST_PRICE NUMBER(8,2) PRODUCT_DESCRIPTION 列にテキスト索引を作成し、検索するために、索引作成 は SQL 文で行います。 CREATE INDEX description_idx ON product_information(product_description) INDEXTYPE IS CTXSYS.CONTEXT; 検索も SQL 文で行います。 SELECT score(1), product_id, product_name FROM product_information WHERE CONTAINS (product_description, 'monitor NEAR "high resolution"', 1)>0 ORDER BY score(1) DESC; SCORE(1) ---------29 27 14 14 14 14 PRODUCT_ID ---------3331 3060 1726 3054 2252 2243 PRODUCT_NAME -----------------------Monitor 21/HR Monitor 17/HR LCD Monitor 11/PM Plasma Monitor 10/XGA Monitor 21/HR/M Monitor 17/HR/F 前述したとおり、テキスト索引構造はデータベースに格納されます。Oracle Text の索引は、それぞれ$I 表、$K 表、$N 表、$R 表と呼ばれる 4 つの表から構成され ます。これらの表は、テキスト索引オーナーのスキーマの中にあり、DR$、索引 名、サフィックス($I など)を連結した名前を持っています。 $I 表は、索引が付けられたトークンすべてと、それらがあるドキュメントのバイ ナリ表現、およびドキュメント中のトークンの位置から構成されます。各ドキュ メントは、内部の DOCID 値で表現されます。 $K 表は索引構成表(IOT)で、内部の DOCID 値を外部の ROWID 値にマッピング します。表中の各行は、1 対の DOCID/ROWID で構成されます。DOCID に対応す る ROWID 値が与えられた場合、IOT により DOCID を迅速に検索できます。 $R 表は、DOCID が既知の場合に ROWID をフェッチし、$K 表からの逆からの参 照ができるよう設計されています。 $N 表は、削除された DOCID 値のリストを含んでいます。これは索引の最適化プ ロセスで使用(およびクリーンアップ)されます。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 22 SELECT table_name FROM user_tables; TABLE_NAME -----------------------------DR$DESCRIPTION_IDX$I DR$DESCRIPTION_IDX$K DR$DESCRIPTION_IDX$N DR$DESCRIPTION_IDX$R PRODUCT_INFORMATION 索引名をクエリーする。 SELECT index_name, table_name, column_name FROM user_ind_columns WHERE table_name='PRODUCT_INFORMATION' INDEX_NAME TABLE_NAME COLUMN_NAME -------------------- -------------------- -------------------DESCRIPTION_IDX PRODUCT_INFORMATION PRODUCT_DESCRIPTION あらかじめ、どのプランが最適か分かっている場合、ユーザーはデータベース・ オプティマイザに対し、問合せのパフォーマンスを向上させるようヒントを与え ることもできます。 SELECT /*+ index product_information description_idx */ score(1), product_id FROM product_information WHERE CONTAINS ( product_description, 'monitor NEAR "high resolution"', 1) > 0 AND list_price < 500; 最後の例では、内容ベースの述語を従来のリレーショナルな述語と混在させるた め標準 SQL が使用されています。 どの型のクエリーについても説明プランを見ることができます。例: SELECT score(0) scr, id, author, title FROM docs WHERE CONTAINS(text, 'money', 0) > 0 and id > 16 ORDER BY scr DESC; Rows Execution Plan ------- --------------------------------------------------0 SELECT STATEMENT GOAL: CHOOSE 0 SORT (ORDER BY) 0 TABLE ACCESS (BY INDEX ROWID) OF 'DOCS' 0 BITMAP CONVERSION (TO ROWIDS) 0 BITMAP AND 0 BITMAP CONVERSION (FROM ROWIDS) 0 SORT (ORDER BY) 0 DOMAIN INDEX OF 'DOCS_TEXT' 0 BITMAP CONVERSION (FROM ROWIDS) 0 SORT (ORDER BY) 0 INDEX (RANGE SCAN) OF 'SYS_C001220' (UNIQUE) 前述したように、Oracle Text はテーマ・ベースあるいは概念ベースの検索をサポー トしており、このため Oracle Text は ABOUT オペレータを使用し、逆向きの索引 中のテーマに一致するテーマをフリーテキスト・クエリーから抽出します。たと えば、「train」という語がドキュメントに含まれていない場合でも、train(列車) に関するニュース記事が検索できます。 SELECT id, title FROM news_table WHERE CONTAINS(article,’about(train)’) > 0; Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 23 Id Title --- ---------------------------834 Rail Transportation in Europe Oracle Text のテーマ・ベースの機能 – テーマ、ABOUT クエリー、要旨、ABOUT クエリーのハイライト、階層クエリのフィードバックはすべて内部のナレッジ・ ベースに依存しています。 Oracle データベースのパワーにより、多分野クエリーの構築も可能です。たとえ ば、50 才以上でトロントから 35km 以内に在住し、家族にガンの罹患歴があり、 喫煙の習慣がある、胸部 X 線写真を撮ったことのある患者の数を調べたいとしま す。 SELECT count(p), p.age, p.xray, FROM patients p, cities c WHERE p.age > 50 AND c.name = ‘Toronto’ AND SDO_WITHIN_DISTANCE(p.loc, c.loc, ‘<= 35 km’) AND Contains(p.medical_history, ‘smoke cancer’)>0 GROUP BY p.age; 索引操作はすべて Oracle Enterprise Manager(OEM)管理ツールを使用し行うこと ができます。図 12 は OEM からテキスト索引を作成する方法を示します。 図 12: Oracle Enterprise Manager から Oracle Text を管理する XML のサポート XML 機能には、オペレータ WITHIN、ネストしたセクション検索、属性値内での 検索、複数タグの同名へのマッピング、INPATH を使用したパス検索、HASPATH オペレータが含まれます。 Oracle Text の機能を明らかにするため、次の XML の例を見てみましょう。 <?xml version="1.0"?> <FAQ OWNER="Billy Text"> <TITLE>Oracle Text FAQ</TITLE> Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 24 <DESCRIPTION> Everything you always wanted to know about Text</DESCRIPTION> <QUESTION>What is Oracle Text? </QUESTION> <ANSWER> Oracle Text uses standard SQL to index, search, and analyze text and documents stored in the database, files or websites. </ANSWER> </FAQ> これにより検索が行われます。 SELECT title, description FROM FAQTable WHERE CONTAINS(text,’Oracle WITHIN QUESTION’)> 0; 検索は属性値でも行うことができます。 SELECT title, description FROM FAQTable WHERE CONTAINS(text,’Billy WITHIN FAQ@OWNER’)> 0; パス検索は次のようにして行います。 SELECT title, description FROM FAQTable WHERE CONTAINS(text,’Oracle INPATH(FAQ/TITLE)’)> 0; パスがあるかどうかを判定するパス・テストは次のようにして行います。 SELECT title, description FROM FAQTable WHERE CONTAINS(text,’HASPATH(FAQ/TITLE/DESCRIPTION)’)> 0; XML ドキュメントの内容と構造の検索 従来、データベースではその内容または構造の検索が可能でしたが、両方を同時 に検索することはできませんでした。Oracle ではその独自の機能により、内容と 構造を同時に問い合せることができます。 Oracle9i では 2 つの新しい SQL 関数、existsNode と extract が導入されまし た。これらは XMLType の値に対して機能します。 • existsNode(): Xpath 式が与えられたとき、ドキュメントに適用された Xpath が有効なノードを返せるかどうかを点検します。 • extract(): Xpath 式が与えられたとき、Xpath をドキュメントに適用し、 フラグメントを XMLType として返します。 これらの機能はテキスト・クエリー言語の全機能と組み合わせて、内容検索を行 うことができます。たとえば、“standard or SQL”をアンサー・タグに含む FAQ を 検索して、その質問を表示できます。 select f.faq.extract('/FAQ/QUESTION/text()').getStringVal() from faq f where contains(faq,'standard or SQL INPATH(FAQ/ANSWER)')>0 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 25 Oracle Ultra Search および Oracle Internet File System Oracle Ultra Search および Oracle File System: この 2 つの機能は、Oracle Text を基礎としてます。 Oracle Text によって提供される豊富な一連の中核的機能は、他の検索ソリュー ション、特に Oracle Ultra Search および Oracle Internet File System でも使用されま す。 Oracle Ultra Search Oracle Ultra Search は Oracle9i の機能のひとつで、Oracle Text の上に構築された新 しい検索アプリケーションです。Oracle Ultra Search では、データベース、IMAP サーバーあるいはファイル・システムといった複数のレポジトリにわたる検索が 可能です。これは、組織内に複数のドキュメント・レポジトリ、複数の Internet File System その他があり、ユーザーがこれらすべてにわたる検索を望む場合にたいへ ん有益です。 UltraSearch では次のことが可能です。 • データベース、インターネット、イントラネット、アプリケーションの統 一的な検索を行い、どこに情報があっても探すことができます。 • 企業のイントラネット全体のクローリング、索引付け、検索が可能になり ます。 • 企業ポータル・ソリューションを構築するための Oracle のポータル・フ レームワーク・ソフトウェアである Oracle9i AS Portal と統合できます。 • クロールのスケジューリング、クロールのカストマイジング、ユーザー・ プリファレンスの適用、などその他のための使い易いブラウザ・ベースの 管理インタフェースです。 図 13 は UltraSearch の管理用ユーザー・インタフェースを示します。 図 13: Oracle Ultra Search Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 26 Oracle Internet File System Oracle Internet File System は、Oracle Text の諸機能を使用し、Internet File System に 保存されたドキュメントに対するフルテキスト索引付けと検索の機能を提供しま す。ユーザーがファイルを格納すると、Internet File System は検索索引エントリを 構築し、エントリはデータベースに保存されます。ドキュメント内容に索引が付 けられると、Oracle Internet File System のユーザーはドキュメント中の用語と句を 検索できます。図 14 は、この先進的な検索機能を示します。 Oracle Internet File System は、ドキュメント、マルチメディア、ウェブ・ページ、 E メール、構造化データなど、あらゆるタイプのデータを管理するための統一的 な 1 つのリポジトリを提供します。Oracle Internet File System は、Oracle データベー スの拡張し、企業資産を管理するための信頼性、可用性、セキュリティに優れた 環境を提供します。 図 14: Oracle Internet File System での先進的な検索 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 27 JDeveloper Wizard OTN からダウンロードし、JDeveloper 向けの Oracle Text アドイン・ウィザードを 入手することができます。このウィザードにより、JDeveloper に精通したユーザー は Oracle Text を使用しアプリケーションを開発できます。 このウィザードのユーザー・インタフェースは、単純で直観的に理解でき、テキ スト索引の作成、ドキュメント・フォーマットの選定、ドキュメント・サービス、 その他のオプションの手順についてユーザーをガイドします。 図 15: JDeveloper の Text Wizard Oracle9i Release 2 の新機能 パフォーマンス向上のための大きな投資のほか、 Oracle9i Release 2 では Oracle Text に関する数多くの機能強化が行われています。9i Release 2 の機能に関する詳細な 説明は、『Oracle Text Features Overview』を参照してください。 • 索引の作成とメンテナンスを改善するための並列索引付けと並列同期化。 • ユーザーはローカルの区分化コンテキスト索引で内容クエリーを並列化 できる。 • • ユーザーが新規 Lexer の定義に利用できる拡張可能な Lexer。 分類とルーティングのアプリケーションを構築するための分類パッケー ジ。 • テキスト索引を分析しチューニングするための DBA ツール・パッケージ。 • 検索アプリケーションを作成するための JDeveloper9i Text ウィザード。 • ウェブ・クエリー・パーサー。ミススペリング、訂正、オペレータその他 の処理のためにユーザーはクエリー・パーサーの記述が不要。 • 多くの点でパフォーマンスを改善。 Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 28 結論 Oracle Text によりアプリケーション開発者は、任意のプログラミング言語による 自分のアプリケーションに強力なテキスト検索機能を透過的に組み込めます。ま た Oracle Text により、API やデータ複製について学び、これらをサポートするコ ストを今以上におさえ、企業級のデータベースが通常備えている利点すべてが利 用できます。テキスト内容、メタデータ、属性に基づくドキュメント検索能力に より、Oracle データベースはあらゆるデータ管理を統合する中心に位置します。 参考資料 1. 『Oracle Text リファレンス・ガイド』Oracle Corp., Redwood Shores, CA (2002) 2. 『Oracle Text アプリケーション開発者ガイド』Oracle Corp., Redwood Shores, CA(2002) 3. 4. Oracle Text ホームページ(http://otn.oracle.com/products/text/) Oracle Text ディスカッション・フォーラム (http://otn.oracle.com/products/text/) 5. Oracle Ultra Search テクニカル・ホワイトペーパー Oracle Text Oracle Corporation 発行の 「Oracle Text」の翻訳版です 29 Oracle Text Oracle Corporation 発行の「Oracle Text」の翻訳版です 2002 年 3 月 著者: Omar Alonso 寄稿者: Sandeepan Banerjee、Steve Buxton、Roger Ford、Richard Pitts Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. 海外からのお問合せ窓口: 電話: +1.650.506.7000 ファックス: +1.650.506.7200 www.oracle.com この文書はあくまでも参考資料であり、掲載されている情報は予告なしに変更されることがあります。万一、誤植などにお気づきの場合は、オラク ル社までお知らせください。オラクル社は本書の内容に関していかなる保証もしません。また、本書の内容に関連したいかなる損害についても責任 を負いかねます。 Oracle はオラクル社の登録商標です。 このガイドで使用されているさまざまな製品名およびサービス名には、オラクル社の商標が含まれています。 その他のすべての製品名およびサービス名は、各社の商標です。 Copyright © 2002 Oracle Corporation All rights reserved.