...

Oracle Text

by user

on
Category: Documents
151

views

Report

Comments

Transcript

Oracle Text
Oracle Text
オラクル・テクニカル・ホワイト・ペーパー
2005 年 9 月
Oracle Text
概要 ...................................................................................................................... 3
テキストはあらゆる場所に............................................................................... 3
Oracle Text............................................................................................................ 4
アーキテクチャ .................................................................................................. 5
データストア................................................................................................. 5
フィルタ......................................................................................................... 6
セクショナ..................................................................................................... 6
レクサ............................................................................................................. 7
レクサ・プリファレンス ....................................................................... 7
言語固有の機能............................................................................................. 8
西ヨーロッパ系言語 ............................................................................... 8
マルチバイト言語 ................................................................................... 8
索引付けエンジン......................................................................................... 9
統合されたテキスト検索機能の利点............................................................. 10
Oracle Textの機能.............................................................................................. 11
索引タイプ................................................................................................... 11
索引のメンテナンスと同期化................................................................... 12
パラレル索引付け....................................................................................... 12
索引パーティション化............................................................................... 13
問合せ演算子............................................................................................... 13
グローバリゼーション............................................................................... 15
ドキュメント・サービス........................................................................... 17
ハイライト表示 ..................................................................................... 17
マークアップ ......................................................................................... 17
抜粋 ......................................................................................................... 17
テーマ抽出 ............................................................................................. 18
要点 ......................................................................................................... 19
高度な機能................................................................................................... 19
分類およびクラスタ化 ......................................................................... 19
ナレッジ・ベース ................................................................................. 21
パフォーマンス ................................................................................................ 22
Oracle Textの使用.............................................................................................. 23
Oracle Textによる索引の作成 .................................................................... 23
XMLのサポート.......................................................................................... 27
XMLドキュメントのコンテンツおよび構造の検索 .............................. 28
Oracle Ultra SearchおよびOracle Files ............................................................. 28
Oracle Ultra Search ....................................................................................... 28
Oracle Files ................................................................................................... 29
JDeveloperウィザード ...................................................................................... 30
情報の可視化 .................................................................................................... 31
Oracle Database 10g リリース 2 の新機能 .................................................... 32
まとめ ................................................................................................................ 32
詳細文献 ............................................................................................................ 32
Oracle Text
2
Oracle Corporation 発行「Oracle Text」の翻訳版です。
テクニカル・ホワイト・ペーパー
概要
Oracle Text は、Oracle Database に統合された全文検索テクノロジで、Oracle
Database 10g の Standard Edition および Enterprise Edition に含まれています。Oracle
Text は、標準 SQL により、Oracle データベース内、ファイル・システム上、Web
上に格納されたテキストおよびドキュメントの索引付け、検索、分析を行います。
Oracle Text は、キーワード検索、コンテキスト問合せ、ブール演算、パターン照
合、混合テーマ問合せ、HTML/XML セクション検索など、様々な方法を使用した
テキスト検索やドキュメントの言語分析が可能です。Oracle Text を使用すること
で、テキスト検索と構造化問合せを容易に組み合わせることができます。
Oracle Text では検索結果が、形式なしのテキスト、語句がハイライトされた HTML、
オリジナルのドキュメント形式など、様々な形式で表示できます。Oracle Text は
複数の言語をサポートし、高度な関連性ランキング・テクノロジを使用して検索
の品質を向上させます。
テキストはあらゆる場所に
多くの企業は、構造化データよりも多く
のテキスト・データを持っていますが、
それを十分に活用できていません。
この 10 年余り、企業はデータベース・システムに格納された構造化データに迅速
にアクセスできるシステムに多額の投資をしてきました。しかし、構造化データ
は企業の全情報のごく一部分に過ぎません。それよりもはるかに多くの情報が、
ドキュメント、Web ページ、マニュアル、レポート、電子メール、ファックス、
プレゼンテーションといった形式で存在しています。これらの有用なビジネス情
報は、アクセス不可能だったり、コスト効率の低い方法で管理されています。イ
ントラネットのポータルにアクセスする社員や、カタログを閲覧するバイヤーな
ど、企業の情報にアクセスするユーザーが必要な情報をすぐに見つけられるよう、
テキスト検索インフラストラクチャによる洗練されたサポートが必要です。
企業が持つテキストは、ほとんど活用されていません。今やテキスト・データは、
静的で形のある対象ではありません。現在のテクノロジにより、企業は様々なソー
スからのテキスト情報を格納するグローバルに相互接続されたシステムを作成で
きます。しかし、重要なテキスト資産を見つけにくい場合があります。効果的な
検索ができないと、結果的に高いコストがかかってしまいます。
企業のテキスト情報から価値を引き出すことは、長年の課題でした。従来、テキ
ストの検索や管理には、他のビジネス・データ管理とは異なるテクノロジが必要
であると考えられてきました。この誤った認識により、企業はデータの格納と検
索のための複数のシステムや、複数の開発環境の維持に悩まされてきました。こ
れが、企業のすべての情報資産の効率的な統合の障害でした。
Oracle Text
3
Oracle Corporation 発行「Oracle Text」の翻訳版です。
この誤った認識により、今日、多くの企業がテキスト・データと構造化データ(デー
タベース)の検索ニーズに対して様々な製品を購入しています。このアプローチ
では、異なる製品の購入、統合、運用、保守というライフサイクルで費用がかか
るうえ、アプリケーション開発においてもパフォーマンスの問題や大きな遅れが
生じます。さらに、専用サーバーは、企業データベースに対して高い信頼性、ス
ループット、マルチプラットフォームの拡張性などを提供できません。
しかし、仮にリレーショナル・データベース・システムの能力と利点を、テキス
トや他の非構造化データを含むすべての企業情報に拡張できるとすればどうで
しょうか。結局のところ、テキスト・データは実際のデータベースのインフラス
トラクチャを保証する実データであり、アプリケーション開発において役立つこ
とが実証されています。このホワイト・ペーパーでは、Oracle Text におけるこの
ようなアプローチについて説明します。
Oracle Text
Oracle Text:
Oracle の全文検索機能は、Oracle10g の
Standard Edition お よ び Enterprise
Edition に含まれています。
Oracle Text は、完全なテキスト検索ソリューションを提供します。Oracle Text は、
Oracle Datagase 10g の Standard Edition と Enterprise Edition の両方に含まれます。
Oracle Database のユーザーは、Oracle Text を使用することで、テキスト検索のた
めの製品を追加で購入して統合する必要がなくなります。
Oracle Text は、Web サイト検索、E-Business カタログ、ドキュメント分類・アプ
リケーション、ルーティング・アプリケーション、テキスト・ウェアハウス、ド
キュメント・ライブラリ、アーカイブなど、従来の全文検索アプリケーションで
必要となるテキスト索引を提供します。
Oracle Textは、様々なドキュメント形式に対してフィルタ処理を適用し、ドキュ
メントに含まれるテキスト文字列を抽出することができます。Microsoft OfficeTM
のファイル形式、Adobe PDFTMファミリの形式、HTML、XMLなど一般的な形式
をはじめ、様々なドキュメント形式をサポートしています。
Oracle Text は、日本語、韓国語、簡体字・繁体字中国語、西ヨーロッパ系言語(英
語、フランス語、スペイン語、ドイツ語など)で書かれた複数のドキュメントに
わたる検索をサポートし、業界で最も優れた多言語機能を提供します。
Oracle Database 10g の一部として、Oracle Text は、次の様々なエンタープライズ機
能と透過的に統合し、これらの機能を活用します。
•
データのパーティション化
(スループットおよび可用性を高める機能)
•
Real Application Clustering または Parallel Server
(サーバーのスケーラビリティを高める機能)
Oracle Text
•
問合せ最適化
•
ツールおよび開発環境
•
管理
•
統合されたセキュリティ
4
Oracle Corporation 発行「Oracle Text」の翻訳版です。
また、統合に際しては、システム管理者が全く新しい技術を身に付けることなく、
企業のテキスト資産を管理する方法を習得できるという、大きなメリットもあり
ます。
Oracle Text は、Oracle Application Server Portal(Oracle10gAS Portal)、Oracle
E-Business Suite、Oracle eXchange、Oracle Ultra Search、Oracle Files などの他の Oracle
製品のコア技術となっています。Oracle Text は、Oracle.com や Oracle Technology
Network などの Oracle Web サイトでも活用されています。
アーキテクチャ
この項では、Oracle Text でのテキスト処理のメカニズムについて説明します。こ
のプロセスは、図 1 のような流れになります。この項では、図 1 で示された各ス
テップについて説明し、それぞれのステップで選択可能ないくつかのオプション
を検討します。
インター
ネット
ストップリスト
OS ファイル・
システム
ワードリスト
マークアップ
マークアップ
ドキュメント
フィルタ
データ
ストア
テキスト
セクショナ
トークン
レクサ
索引付け
エンジン
テキスト索引
図 1: 索引作成のアーキテクチャ
データストア
Oracle Text により索引付けされるテキストは、データベース内、ファイル・シス
テム内、Web 上に格納できます。URL データストアにより、データベースは、他
のサーバーにリモートに格納され、HTTP プロトコルまたは FTP プロトコルを介
してアクセスされるドキュメントを管理できます。次の格納場所オプションがあ
ります。
データベース内: 索引付けされるテキストは、データベース内の任意の文字
型の列(通常最大 4KB のテキストを保持できる)、または最大 4GB まで
の文字やバイナリ・データを格納する LOB(ラージ・オブジェクト)に
格納されます。
Oracle Text
5
Oracle Corporation 発行「Oracle Text」の翻訳版です。
ファイル・システム内: 索引付けされるテキストは、データベース・サーバー・
マシンからアクセス可能な任意のファイル・システム内に格納されます。
Web 上: 索引付けされるテキストは、インターネット上またはイントラネット
上の URL からアドレス指定できます。
ユーザー定義: 索引付けされるテキストは、PL/SQL プロシージャの出力です。
これにより、ユーザーは索引付けの対象を完全に制御できます。
作成された索引は、常にデータベースに保存されます。
フィルタ
本来、インターネットの大部分はHTMLファイルとプレーン・テキスト・ファイ
ルで構成されていました。しかし、イントラネットやエクストラネットにおいて
は、他のファイル形式が増えています。Adobe PDFTMは特に、オンライン・バー
ジョンのマニュアルや販売カタログに多く使用されています。各種のワード・プ
ロセッサに固有の形式のドキュメントがWebサイト上に直接格納されている場合
もあります。
Oracle Textは、Microsoft OfficeTMのファイル形式、Adobe PDFTMファミリの形式、
HTML、XMLなど、多数の一般的なファイル形式に対するフィルタを備えており、
それらが 1 つの列に混在していても機能します。フィルタの出力は、HTML形式
です。そのため、フィルタはドキュメントの見出しやタイトルなどの情報を保持
でき、それをドキュメントの特定部分の検索に使用できます。
アプリケーション開発者は、フィルタ・モジュールを独自のカスタム・フィルタ
やサード・パーティ製のフィルタに置換できます。カスタム・フィルタは、単に
2 つの引数を取る実行プログラムまたはスクリプトで、最初の引数は書式付き入
力テキストの入ったファイル、2 番目の引数はフィルタされた出力が書き込まれ
るファイルの名前です。
必要に応じ、カスタム・フィルタは標準の「autorecognize」(自動認識)フィルタ
を呼び出すことができます。これにより、ビジネス固有のあらゆるファイル形式
を処理できるだけでなく、標準ファイル形式の場合は標準フィルタに渡すことが
できます。
セクショナ
セクショナ・オブジェクトは、各テキスト・ユニットを含むセクションを識別し
ます。通常、これらのセクションは、事前定義された HTML(HyperText Markup
Language)セクションや XML(eXtensible Markup Language)セクションです。ま
た、ユーザーはすべてのタグをセクション・デリミタとして処理するよう選択す
ることもできます。たとえば、<TITLE>XML Handbook</TITLE>という文書で
あれば、WITHIN 演算子を使用してタグ間を検索できます。WITHIN の使用方法に
ついては、XML 検索の項で説明します。
Oracle Text
6
Oracle Corporation 発行「Oracle Text」の翻訳版です。
レクサ
レクサの役割は、セクショナの出力を「ワード」または「トークン」に分割する
ことです。西ヨーロッパ系言語の最もシンプルな例として、レクサはテキストを
インタラプトされない英数字の文字列に分割します。次に例をあげます。
Aha!It’s the 5:15 train, coming here now!
これはワードに分割され、句読点や特殊文字は省かれます。
“aha it s the 5 15 train coming here now”
レクサは通常、ストップワードを削除します。ストップワードとは、アプリケー
ション開発者により定義されたり、デフォルト・リストから採用される共通ワー
ドです。これにより、前述のリストは次のようになります。
“aha * * * 5 15 train coming * now”
アスタリスクは、削除されたストップワードを示します。ストップワードは実際
には索引付けされませんが、その位置にストップワードが存在することは索引に
マークされます。検索では、句の一部として使用される場合、どのストップワー
ドもその位置のワードと一致します。たとえば、「kicking the ball」は「kicking a ball」
とは一致しますが、「kicking ball」とは一致しません。
ストップワードのセットは、アプリケーションで指定できます。すべての数字を
ストップワードとして定義することも可能です。
レクサ・プリファレンス
テキストをどのようにトークンに分割するかについて、様々なオプションを定義
できます。たとえば、「it’s」というワードが「its」または「it’s」のいずれでも索
引付けされるよう結合文字を定義できます。
Oracle Text
7
Oracle Corporation 発行「Oracle Text」の翻訳版です。
言語固有の機能
Oracle Text は多くの言語をサポートしています。
西ヨーロッパ系言語
基本文字変換 − アクセント記号が付いた文字の場合、アクセント記号のない
形式に正規化できます。したがって、「acción」を検索すると、「accion」
および「acción」の両方が一致します。
代替スペリング − ドイツ語などのいくつかの言語では、アクセント記号の付
いた文字のスペリングが数通りあります。たとえば、「Muenchen」と
「München」は同一のワードとして考えられます。代替スペリング索引オ
プションを選択すると、これらのワードはどちらも「Muenchen」として
索引付けされます。問合せ時にも同じ変換が適用されるため、どちらの
語句を検索しても索引の「Muenchen」と一致します。
複合ワード処理 − Oracle Text は、ドイツ語およびオランダ語の複合ワードを
処理するテクノロジを備えています。そのようなワードは、索引内では
その構成要素に分割されます。
マルチバイト言語
シンボリック言語には、西ヨーロッパ系言語が持つような空白で区切られたワー
ドがありません。このような言語を索引付けするには、西ヨーロッパ系言語とは
異なるルールが必要です。Oracle Text は、中国語、日本語、韓国語のテキストに
対して、特殊なレクサを提供します。次のコマンドは、日本語レクサの設定方法
を示しています。
exec
ctx_ddl.create_preference('JAPANESE_LEXER','japanese_vgram_
lexer');
また、多言語検索アプリケーションの構築も可能です。検索時に、アプリケーショ
ンは NLS_LANG 環境変数をチェックして、キーワードの分割に使用するレクサを
決定します。次の JSP コードの抜粋で、主要概念を示します。
…
// データベースへの接続; Statement の作成
Statement stmt = conn.createStatement ();
String sql;
ResultSet rset;
// NLS_LANGUAGE と NLS_TERRITORY の設定
// Oracle Text はこれらの値を使用してレクサを選択します。
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);
Oracle Text
8
Oracle Corporation 発行「Oracle Text」の翻訳版です。
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 ()){
// 結果セットを取得し終わるまで繰り返し。検索結果を画面に表示します。
}
rset.close();
stmt.close();
…
索引付けエンジン
索引付けエンジンは、トークンからドキュメント(そのトークンを含むもの)へ
のマッピングを行う「逆索引」を作成します。このフェーズでは、Oracle Text は、
指定されたストップリストを使用します。ストップリストにより、ユーザーはテ
キスト索引からストップワードやストップテーマを除外できます。
索引作成の最終出力は、「逆索引」です。これは、ドキュメントから抽出された
ワードのリストで、各ワードはそのワードが含まれるドキュメントのリストを持
ちます。「逆索引」と呼ばれるのは、各ドキュメントがワード・リストを持つよ
うな通常の方法とは逆であるためです。
Oracle Text
9
Oracle Corporation 発行「Oracle Text」の翻訳版です。
統合されたテキスト検索機能の利点
Oracle Database 10g は、データベース・カーネルが認識するデータ型を開発者が拡
張できる拡張フレームワークを提供しています。Oracle Text は、このフレームワー
クを使用してテキスト索引を標準の Oracle 問合せエンジンと完全に統合します。
それにより、次の利点がユーザーに提供されます。
•
すべてのデータ(テキスト・データおよび構造化データ)に対する(2 つ
のリポジトリではなく)単一のリポジトリ。そのため、メンテナンスや
バックアップが容易です。
•
同一リポジトリ内に格納された索引。これにより、テキスト問合せおよ
び複合問合せの処理が非常に効率的になります。
•
アプリケーション開発のための単一 API。
•
Oracle SQL 実行エンジンおよび問合せ計画オプティマイザとの統合。
コストベース・オプティマイザは、問合せの実行時プロパティに基づいて最速の
実行計画を選択します。そのため、Oracle Text は、列に対してテキスト条件を評
価するために次の 2 種類のメソッドを用意しています。
•
拡張フレームワークは、行ソースとしてテキスト索引をセットアップし、
条件を満たす ROWID をカーネルに渡すことができます。
•
拡張フレームワークは、与えられた特定の ROWID を持つ行が条件を満た
すか否かを判断できます。
要約すると、統合の利点は次のように明らかです。
•
低コスト
Oracle Text は、
Oracle Database 10g Standard Edition および Enterprise Edition
に含まれます。追加の製品を購入、統合する必要はありません。
•
高パフォーマンス
データベースは、テキスト問合せおよび構造化問合せの両方を実行する
のに最速の計画を選択します。
•
高整合性
テキストはデータベースに格納されるため、すべての整合性の利点を継
承します。たとえば、データベースに対する更新はすべてテキスト検索
機能に反映できるため、ユーザーは、すべてのデータの統合された総合
的なビューを獲得できます。
•
複雑性の軽減
テキストは構造化データと同様に扱われます。このため、テキスト検索
アプリケーションを既存のシステムで容易に開発および統合できます。
•
優れた管理性
Oracle Text は、管理者が一般的に持つスキルを活用して、標準の管理ツー
ルから管理できます。
•
セキュリティ
Oracle Text は、データベースのセキュリティ機能を活用します。
Oracle Text
10
Oracle Corporation 発行「Oracle Text」の翻訳版です。
Oracle Text の機能
この項では、Oracle Text の主な機能を詳細に説明します。
索引タイプ
Oracle Text は 、 従 来 の 全 文 検 索 用 、
E-Business カタログ用、および分類なら
びにルーティング・アプリケーション用
の索引タイプを提供します。
Oracle Text は、すべてのテキスト検索ニーズに対応するよう、標準、カタログ、
分類という 3 タイプの索引を提供しています。表 1 に、この 3 つの索引タイプの
概要を示します。
•
標準索引タイプ − ドキュメントおよび Web ページ上の従来の全文検索
用。CONTEXT 索引タイプは、必要なコンテンツを正確に検索する充実し
たテキスト検索機能を提供します。
•
カタログ索引タイプ − E-Business カタログ用として特に設計された初め
てのテキスト索引。CTXCAT カタログ索引タイプは、通常の Web アプリ
ケーションと同程度の速度で柔軟な検索および並び替え機能を提供しま
す。
•
分類索引タイプ − 分類アプリケーションやルーティング・アプリケー
ションを構築する。CTXRULE 索引タイプは、問合せ表に対して作成され
ます。問合せ表には、分類やルーティングの基準を定義する問合せが格
納されます。
表 1: 索引タイプの概要
索引タイプ
CONTEXT
アプリケーション・タイプ
問合せ演算子
この索引は、テキストが大容量の一貫したドキュメントで CONTAINS
構成される場合に、テキスト検索アプリケーション構築に
使用する。MS Word、HTML、XML、プレーン・テキスト
など、様々な形式のドキュメントを索引付けできる。
CONTEXT 索引を使用すると、様々な方法で索引をカスタ
マイズできる。
CTXCAT
この索引タイプは、複数の列にわたって格納された項目
CATSEARCH
名、価格、説明など、小さなテキストの索引付けに使用す
る。この索引を使用すると、複合問合せでの問合せパ
フォーマンスが向上する。
CTXRULE
CTXRULE 索引は、ドキュメント分類アプリケーションの
MATCHES
構築に使用する。CTXRULE 索引は、問合せ表に作成され
る索引で、各問合せが 1 つの分類を持つ。単一ドキュメン
ト(プレーン・テキスト、HTML、XML)を、MATCHES
演算子を使用して分類できる。
Oracle Text はサブストリング(部分文字列)索引およびプリフィックス索引も提
供します。サブストリング索引は、左端切捨てまたは両端切捨てのワイルドカー
ド問合せのパフォーマンスを向上させます。プリフィックス索引は、右端切捨て
ワイルドカード問合せのパフォーマンスを向上させます。
Oracle Text
11
Oracle Corporation 発行「Oracle Text」の翻訳版です。
索引のメンテナンスと同期化
Oracle Database 10g では、ユーザーは索引作成時に索引更新プリファレンスとして、
「手動)、「コミット時(on commit)」、「定期的)を指定できます。あるいは、
ドキュメントが挿入または更新された直後から検索可能になるトランザクション
型のテキスト索引も指定できます。なお、E-Business カタログによくある短いテ
キスト用に特に設計されたカタログ索引タイプは、同期化が必要ありません。
CONTEXT 索引の同期化は、パラレルで実行できるようになりました。新しいパラ
メータ parallel_degree では、必要なスレーブ数を指定できます。
パラレル索引付け
パラレル索引付けにより、複数の CPU がある場合、ハードウェアの利点を活用で
きます。
パラレル索引作成は、次のような場合に有効です。
•
パフォーマンスの向上
•
データのステージング
•
大規模なデータ・コレクションを持つアプリケーションの高速な初期配
置
•
ユーザーがアプリケーション開発中に異なる索引パラメータおよびス
キーマをテストする必要がある場合
次の例では、並列度 3 のテキスト索引を作成します。
CREATE INDEX myindex ON docs(tk)
INDEXTYPE IS ctxsys.context PARALLEL 3;
図 2 に、テキスト索引作成がパラレルでどのように機能するかを示します。Oracle
Parallel 機能は、並列度に基づいて表を複数の部分に分割します。各パラレル・ス
レーブは、表の一部分を処理します。
テキスト索引のパラレル作成
表
各スレーブ・プロセスが
表の一部分に対して機能する
テキスト索引
図 2: テキスト索引のパラレル作成
Oracle Text
12
Oracle Corporation 発行「Oracle Text」の翻訳版です。
索引のパーティション化
Oracle Database 10g では、ローカル・パーティション・テキスト索引を作成できま
す。主な利点は次のとおりです。
•
管理性。管理者は索引をパーティション化する方法、どのパーティショ
ンをオンライン・オフラインにするか、どのパーティションをバックアッ
プするかなどを決定できます。
•
パフォーマンス。索引のパーティション化により、スケーラビリティが
大幅に向上します。
問合せ演算子
Oracle Text は、様々な方法で検索問合せをインテリジェントに処理できます。
•
キーワード検索。ドキュメントのキーワードを検索します。ユーザーは、
問合せを記述する 1 つまたは複数のキーワードを入力します。
•
コンテキスト問合せ。指定されたコンテキストでワードを検索します。
ユーザーは、互いに隣接するワードを含むテキストを検索します。
•
ブール演算子。キーワードをブール演算子と組み合せます。ユーザーは、
ブール演算子をキーワードにつなげて問合せを表現できます。
•
言語機能。ファジーおよび他の自然言語処理手法を使用します。ユーザー
は、ある特定の何かに関するテキストを、必ずしもそのワードが含まれ
ていなくても検索できます。
•
パターン・マッチング。特定の文字列を含むテキストの検索。ユーザー
は、ある文字列を含むワードを含むテキストを検索します。
表 2 に、問合せ演算子の一部を示します。
表 2: Contains 問合せ演算子のサマリー
演算子
説明
ABOUT
同じ問合せから返される該当ドキュメントの数を増やす。
ACCUMulate (,)
いずれかの問合せ語句が少なくとも 1 回出現するドキュメン
トを検索する。
AND (&)
各問合せ語句が少なくとも 1 回出現するドキュメントを検索
する。
上位語句
(BT、BTG、BTP、BTI)
問合せを拡張し、シソーラスに広義語または上位語として定義
された語句を含める。
EQUIValence (=)
問合せ内のワードに対する、置換文字列を指定する。
Fuzzy
問合せを拡張し、指定した語句に近いスペルのワードを含め
る。
HASPATH
指定された XPath 式に該当するすべての XML ドキュメントを
検索する。
INPATH
問合せを XPath 式で指定されたドキュメント・セクション内に
限定する。
MDATA
Oracle Text
完全一致の MDATA セクションを問い合せる。
13
Oracle Corporation 発行「Oracle Text」の翻訳版です。
演算子
説明
MINUS (−)
1 つの問合せ語句を含み、2 番目の問合せ語句が存在するとき
にランクを下げたい場合に使用する。
狭義の語句
(NT、NTG、NTP、NTI)
問合せを拡張し、シソーラスに指定した語句に対する狭義語ま
たは下位語として定義されたすべての語句を含める。
NEAR (;)
2 つ以上の問合せ語句の近接性に基づいたスコアを返す。
NOT (~)
1 つの問合せ語句を含み、2 番目の問合せ語句を含まないド
キュメントを検索する。
OR (|)
いずれかの問合せ語句が少なくとも 1 回出現するドキュメン
トを検索する。
優先語句(PT)
問合せ内の語句を、その語句のシソーラスに定義された優先語
句に置き換える。
関連語句(RT)
問合せを拡張して、その語句についてシソーラスに定義された
すべての関連語句を含める。
Soundex (!)
問合せを拡張して、発音が類似するワード、つまり他のワード
のように聞こえるワードを含める。
Stem ($)
問合せ語句と同じ言語ルートを持つ語句を検索する。
ストアド・クエリー式
CTX_QUERY.STORE_SQE プロシージャで作成されたストア
(SQE)
SYNonym
ド・クエリー式をコールする。
問合せを拡張して、指定された語句のシノニム(同義語)とし
てシソーラスに定義されるすべての語句を含める。
しきい値(>)
結果セットの中でスコアがしきい値より下のドキュメントを
除外する。問合せターム・レベルでは、この演算子はドキュメ
ント内でのタームのスコアに基づいてドキュメントを選択す
る。
翻訳語句(TR)
問合せを拡張し、定義済のすべての外国語の相当語句を含め
る。
翻訳語句シノニム
(TRSYN)
最上位語句(TT)
問合せを拡張し、問合せ語句の外国語相当語、問合せ語句のシ
ノニムおよびシノニムの外国語相当語句をすべて含める。
問合せ内の語句を、シソーラスの標準階層の語句に対して定義
される最上位語句に置き換える。
ウェイト(*)
指定された係数をスコアに掛ける。スコアが 100 を超えた場合
は 100 とする。
WITHIN
Oracle Text
問合せをドキュメント・セクション内に限定する
14
Oracle Corporation 発行「Oracle Text」の翻訳版です。
グローバリゼーション
企業の運営がグローバル化すると、世界規模で行う分散処理において多言語機能
が重要になります。このような企業のポータル、ライブラリ、コンテンツ管理シ
ステムでは、異なる言語で作成されたコンテンツや、異なるキャラクタ・セット
でエンコードされたコンテンツの検索が可能である必要があります。XML の登場
により、多言語メタデータやコンテンツ検索機能に注目が集まっています。
Oracle Text は、業界で最もグローバル化
されたエンジンです。
Oracle Text は、すべての Oracle NLS キャラクタ・セットをサポートします。たと
えば、ASCII、UTF-8、JA165JIS、GBK、BIG5 などです。Oracle Text は、日本語、
韓国語、簡体字・繁体字中国語、西ヨーロッパ系言語(英語、フランス語、スペ
イン語、ドイツ語など)で書かれたドキュメントの検索をサポートします。
これらの多言語機能により、ユーザーは複数言語間の検索アプリケーションを開
発できます。さらに、Oracle Text を使用することで次のことが可能となります。
•
複数言語が混在するドキュメント・コレクションに対する問合せ(たと
えば、中国語と英語のドキュメントなど)。
•
英語を使って中国語の単語を問合せできます。またその逆も可能です。
次の問合せでは、説明に「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 に、日本
語のテキストで同機能を示します。
Oracle Text
15
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 3: 中国語ドキュメントで語句をハイライト表示した多言語検索
図 4: 日本語ドキュメントで語句をハイライト表示した多言語検索
Oracle Text
16
Oracle Corporation 発行「Oracle Text」の翻訳版です。
ドキュメント・サービス
Oracle Text は、問合せで選択されたド
キュメントに対して、ハイライト表示、
マークアップ、抜粋、テーマ表示、要点
抽出を行うことができます。
Oracle Text は、主な「ドキュメント・サービス」として、ハイライト表示、マー
クアップ、抜粋、テーマ、要点を提供します。こうしたサービスは、検索結果の
表示やドキュメントの参照を考える上で非常に有効です。また、ユーザーに有益
なフィードバックも提供します。
ハイライト表示
ハイライト表示サービスは、問合せ文字列を使用してドキュメントのコンテンツ
をフェッチし、ドキュメントの中で問合せに一致するワードを示します。
マークアップ
マークアップは、ハイライト表示サービスをさらに 1 歩進め、マークアップされ
た一致ワードの入ったドキュメントのテキスト・バージョンを生成します。図 5
に、「Servlet」と「XSQL」がハイライト表示された HTML ドキュメントのスク
リーンショットを示します。
図 5: ハイライト表示された語句のある HTML ドキュメント
抜粋
このドキュメント・サービスは、キーワードがハイライト表示されたテキストの
生成に便利です。この機能を使用することで、ユーザーはドキュメントを開く前
に、それが何に関するドキュメントかが分かります。図 6 に、このサービスを使
用して検索結果を表示した例を示します。
Oracle Text
17
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 6: 検索結果画面でのドキュメント抜粋
Oracle Text は高度な言語機能で、従来のテキスト検索機能を補っています。ドキュ
メント・サービスにおける言語機能により、ドキュメント・テーマやテーマ・サ
マリーをオンデマンドで、ドキュメントごとに生成できます。
テーマ抽出
「テーマ」は、ドキュメントが何に関するものかを説明するスナップショットです。
ユーザーは、特定の語句を含むドキュメントの検索ではなく、特定の主題につい
てのドキュメントを、その主題自体がドキュメントに明示的に記述されていない
場合でも検索できます。テーマ問合せは、要求された主題に関するドキュメント
のヒット・リストと、各ドキュメントがこの主題に適合している度合いを示すス
コアを返します。
図 7 は、「Java および Jdeveloper」に関するドキュメントのテーマ抽出の出力結果
を示しています。
図 7: 「Java および JDeveloper」に関するドキュメントのテーマ抽出
Oracle Text
18
Oracle Corporation 発行「Oracle Text」の翻訳版です。
要点
Generic Gist は、ドキュメントの全体的な主題を表す文章や段落で構成されたサマ
リーです。Generic Gist を使用することで、テキストの主要な内容を拾い読みした
り、興味のある題材に素早くアクセスしたりできます。段落レベルまたは文章レ
ベルで要点を生成できます。
分類およびナレッジ・ベースは、テキス
ト・マイニング・アプリケーションの構
築において核となるコンポーネントです。
高度な機能
分類およびクラスタ化
ドキュメント分類アプリケーションとは、入ってくるドキュメントをその内容に
基づいて分類するアプリケーションのことです。このようなアプリケーションは、
ドキュメント・ルーティング・アプリケーションまたはドキュメント・フィルタ・
アプリケーションとも呼ばれます。たとえば、オンライン・ニュースを提供する
企業では、入ってくる記事を政治、経済、スポーツなどのカテゴリに分類する必
要があります。
Oracle Text は、ユーザが内容を適切に分類できるよう、様々な手法でサポートし
ます。
ルールベースのアプローチは、ドキュメント分類の理由説明を含むユーザー定義
のカテゴリ(ルール)で構成されます。次に、CTXRULE 索引タイプにより、アプ
リケーションは分類またはルーティング基準を定義するルール(問合せ)を索引
付けします。ドキュメントを受け取り、MATCHES 演算子を使用して各ドキュメン
トを分類できます。図 8 に、分類アプリケーションの主な構造を示します。
ドキュメント
の到着
分類
アプリケーション
条件に一致した
ドキュメント
処理の
実行
分類ルール
との比較
10g
図 8: 分類アプリケーションの構造
以前のアプローチでは、ユーザーは時間をかけて問合せを調整したり、コレクショ
ン全体を知っている必要がありました。大きなデータ・セットに対しては、この
アプローチは適しません。
分類トレーニング・アプローチは、ユーザーが提供する(ある主題に基づく)サ
ンプル・ドキュメントで構成されます。CTX_CLS パッケージは、トレーニング・
セットを使用して、その主題領域のドキュメントを識別するルールを自動的に生
成します。方法は 2 つあります。決定木とサポート・ベクター・マシン(SVM)
です。
Oracle Text
19
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 9 に、医療に関する分類アプリケーションの例を示します。右側のビューには、
問合せ語句「heart failure(心不全)」をハイライト表示したドキュメントが示さ
れます。
図 9: 医療に関する分類アプリケーション
一方、クラスタ化は、監視なしにパターンをグループに分類します。Oracle Text
は、クラスタを構築する CTX_CLS.CLUSTERING パッケージを提供します。この
パッケージは、ドキュメントをその語義に従って自動的にクラスタ化します。各
クラスタには、コレクションのドキュメントのサブセットが入ります。クラスタ
内のドキュメントは、クラスタ外のドキュメントと比べて、より類似していると
考えられます。クラスタ化には、階層構造を持たない分類のための k-means と、
階層クラスタ化の 2 通りの方法があります。図 10 にクラスタ化の例を示します。
Oracle Text
20
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 10: 医療に関するコンテンツのクラスタ化
ナレッジ・ベース
Oracle Text のナレッジ・ベースには、幅広い分野から 400,000 を超すコンセプト
があり、それらが 2,000 の主要カテゴリに分類されます。これらのカテゴリは、
「ビジネスと経済」、「科学と技術」、「地理」、「政府と軍隊」、「社会環境」、
「抽象的なアイデアと概念」という 6 つの最上位の概念に階層的に分類されます。
概念の分類、カテゴリの選択、階層分類は、情報検索における実用性に重点を置
いて慎重に設計されています。
ユーザーは、新しい用語を追加したり既存用語を再定義して、このナレッジ・ベー
スを拡張およびカスタマイズできます。たとえば、ユーザーは医療シソーラスを
インポート後、ナレッジ・ベースを拡張できます。図 11 に、医療シソーラスの階
層ビューを示します。
Oracle Text
21
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 11: Oracle Text シソーラスの管理
パフォーマンス
Oracle の利点: 優れたパフォーマンス
図 12 に、CONTEXT 索引タイプを使用した Oracle Text と、「TCOMP」と呼ばれる
最も有名なテキスト検索エンジンの 1 つとのパフォーマンス比較を示します。全
般的に、Oracle Text のパフォーマンスは、単一ユーザーで単一問合せテストでは、
ファイルベースのテキスト検索エンジンのパフォーマンスとほとんど同等です。
ただし、システムにストレスがかかると、Oracle の優れたスケーラビリティによ
り、Oracle Text のパフォーマンスがファイルベースのエンジンを簡単に上回りま
す。次に示すテストは、小規模な部門マシン上で実行される実際の E-Business サ
イトのシミュレーションです。
スループットの比較
80.00
1秒あたりの問合せ数
70.00
60.00
1秒あたりの
CONTEXT
問合せ数
50.00
40.00
1秒あたりの
TCOMP
問合せ数
30.00
20.00
10.00
0.00
0
10
20
30
ユーザー数
図 12: スループットの比較
Oracle Text
22
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 13 に、同様のテストを示しますが、スループットではなく問合せ時間を示しま
す。
検索レスポンス・タイムの比較
レスポンス・タイム (1/100秒)
4000
3500
3000
CONTEXT 最長
(1/100秒)
2500
CONTEXT 平均
(1/100秒)
2000
1500
TCOMP 平均
(1/100秒)
1000
500
0
0
10
20
30
ユーザー数
図 13: 問合せ時間の比較
Oracle Text の使用
この項では、前述の Oracle Text の主な機能の構文や使用方法について説明します。
Oracle Text による索引の作成
次の表(product_information 表)を例に説明します。この表には、一般的な
製品情報が格納されているとします。
describe product_information
Name
Null?
------------------------ ------PRODUCT_ID
NOT NULL
PRODUCT_NAME
PRODUCT_DESCRIPTION
CATEGORY
PRODUCT_STATUS
LIST_PRICE
Type
---------------NUMBER(6)
VARCHAR2(50)
VARCHAR2(2000)
NUMBER(2)
VARCHAR2(20)
NUMBER(8,2)
PRODUCT_DESCRIPTION 列にテキスト索引を作成し、検索可能な状態にします。
索引作成は、次の SQL 文で行います。
CREATE INDEX description_idx ON
product_information(product_description)
INDEXTYPE IS CTXSYS.CONTEXT;
Oracle Text
23
Oracle Corporation 発行「Oracle Text」の翻訳版です。
検索は、次の 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 表には、索引付けされたすべてのトークンが格納されます。また$I 表には、各
トークンが出現するドキュメント、およびドキュメント内の位置情報を、バイナ
リ形式で格納されます。各ドキュメントは、内部 DOCID 値によって表されます。
$K 表は、内部 DOCID 値を外部 ROWID 値にマップする索引構成表(IOT)です。
表内の各行は、単一の DOCID/ROWID のペアで構成されています。IOT により、
対応する ROWID 値から DOCID を素早く検索できます。
$R 表は、$K 表と逆のルックアップ、つまり DOCID 値を与えて ROWID をフェッ
チするために設計されています。
$N 表には、削除済 DOCID 値のリストが含まれます。$N 表は、索引の最適化プロ
セスで使用された後、クリーンアップされます。
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'
Oracle Text
24
Oracle Corporation 発行「Oracle Text」の翻訳版です。
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 は、ABOUT 演算子を使用したテーマまたは概
念ベースの検索をサポートしており、フリー・テキスト問合せからテーマを抽出
して逆索引のテーマと照合します。たとえば、ユーザーは、「train」(列車)と
いうワードが含まれるドキュメントが存在しない場合でも、列車に関するニュー
ス記事を検索できます。
SELECT id, title
FROM news_table
WHERE CONTAINS(article,’about(train)’) > 0;
Id Title
--- ---------------------------834 Rail Transportation in Europe
Oracle Text
25
Oracle Corporation 発行「Oracle Text」の翻訳版です。
Oracle Text のテーマ・ベースの機能(テーマ、ABOUT 問合せ、要点、ABOUT 問
合せにおけるハイライト表示、階層問合せフィードバック)は、すべて内部のナ
レッジ・ベースに依存しています。
Oracle データベースの能力により、複数分野にわたる問合せの構築が可能です。
たとえば、トロントから 35km 以内に居住し、病歴に癌を持った喫煙者の家族が
いる 50 歳以上の患者数を検索し、胸部レントゲン写真を入手するには、以下のよ
うに問合せを実行します。
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)管理ツールを使用して実
行できます。図 14 に、OEM からテキスト索引を作成する方法を示します。
図 14: Oracle Enterprise Manager からの Oracle Text の管理
Oracle Text
26
Oracle Corporation 発行「Oracle Text」の翻訳版です。
XML のサポート
XML 機能には、演算子 WITHIN、ネストされたセクション検索、属性値検索、複
数タグの同一名へのマップ、INPATH 演算子と HASPATH 演算子を使用したパス
検索が含まれます。
次の XML 例を使用して Oracle Text 機能を示します。
<?xml version="1.0"?>
<FAQ OWNER="Billy Text">
<TITLE>Oracle Text FAQ</TITLE>
<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;
Oracle Text
27
Oracle Corporation 発行「Oracle Text」の翻訳版です。
XML ドキュメントのコンテンツおよび構造の検索
これまでのデータベースでは、コンテンツや構造の検索はできても、両者を同時
に実行することはできませんでした。Oracle は、コンテンツと構造を同時に問合
せできる独自の機能を提供します。
Oracle Database 10g では、XMLType 値を操作する 2 つの新しい SQL 関数、
existsNode と extract が導入されました。
•
existsNode(): XPath 式から、ドキュメントに適用された XPath が有効
なノードを返せるかをチェックします。
•
extract(): XPath 式をドキュメントに適用し、得られた XML 断片を
XMLType 型として返します。
コンテンツ検索のために、前述の関数とテキスト問合せ言語を組み合せることが
できます。たとえば、ANSWER タグに「standard or SQL」を含む FAQ タグを検索
し、QUESTION タグの中身を表示することができます。
select f.faq.extract('/FAQ/QUESTION/text()').getStringVal()
from faq f
where contains(faq,'standard or SQL INPATH(FAQ/ANSWER)')>0
Oracle Ultra Search および Oracle Files
Oracle Ultra Search および Oracle Files:
Oracle Text の上位に構築された 2 つのア
プリケーション。
Oracle Text が提供する優れたコア機能は、他の検索ソリューション、特に Oracle
Ultra Search および Oracle Files によって使用されます。
Oracle Ultra Search
Oracle Database 10g および Oracle Application Server 10g の機能である Oracle Ultra
Search は、Oracle Text を基盤に構築された検索アプリケーションです。Oracle Ultra
Search は、データベース、IMAP サーバー、ファイル・システムなど複数のリポ
ジトリにわたる検索が可能です。これは、企業が複数のドキュメント・リポジト
リ、複数の Internet File Systems インスタンスなどを持ち、ユーザーがそれらすべ
てにわたって検索を行いたい場合に非常に有効です。
UltraSearch には次の機能があります。
•
データベース、インターネット、イントラネット、アプリケーションな
ど、様々なソースにある情報の一貫した検索。
•
企業イントラネット全体のクロール(情報収集)、索引付けおよび検索
の有効化。
•
企業ポータル・ソリューションを構築するオラクル社のポータル・フレー
ムワーク・ソフトウェア、Oracle10gAS Portal との統合。
•
クロールのスケジュールやカスタマイズ、ユーザー・プリファレンスの
適用などに、使いやすいブラウザベースの管理インタフェース。
Oracle Text
28
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 15 に、Ultra Search の管理ユーザー・インタフェースを示します。
図 15: Oracle Ultra Search
Oracle Files
Oracle Files は、Oracle Text の機能を使用して、Files に格納されたドキュメントに
対する全文検索索引の作成および検索のための機能を提供します。ユーザーが
ファイルを格納すると、Oracle Files はデータベースに索引エントリを作成します。
ドキュメントのコンテンツが索引付けされると、Oracle Files ユーザーはドキュメ
ント内のワードや句を検索できます。図 16 に、その高度な検索機能を示します。
Oracle Files は、ドキュメント、マルチメディア、Web ページ、電子メール、構造
化データを含むすべてのタイプのデータを管理する、統合された単一のリポジト
リを提供します。Oracle データベースの拡張機能として、Oracle Files は企業資産
を管理する信頼性と可用性の高いセキュアな環境を提供します。
Oracle Text
29
Oracle Corporation 発行「Oracle Text」の翻訳版です。
図 16: Oracle Files の高度な検索
JDeveloper ウィザード
JDeveloper 用の多数の Text ウィザードを OTN からダウンロードできます。ウィ
ザードの簡単でわかりやすいユーザー・インタフェースにより、JDeveloper の知
識を持つユーザーは、コードを一行も記述することなく、Oracle Text を使用して
Web サイトやカタログ検索などのシンプルなアプリケーションを生成できます。
図 17: JDeveloper の Text ウィザード
Oracle Text
30
Oracle Corporation 発行「Oracle Text」の翻訳版です。
情報の可視化
情報の可視化により、ユーザーは大量のドキュメント・データ・セットから適切
な情報を選択できます。Oracle Text の場合、次の 3 つの領域で情報の可視化が役
立ちます。
1.
ドキュメント・レベル: ドキュメントそのものに関する情報を示します。
2.
ネットワークおよび階層構造: カテゴリ、クラスタ、シソーラス、ナレッ
ジ・ベースに関する情報を示します。
3.
検索結果: 検索リストの一部として Web サイト構造を示します。
これは、
項目 2 の特別な例です。
Oracle は、可視化を導入するための 2 つのテクノロジ、StretchViewer と Interactive
Viewer を提供します。
1.
StretchViewer は、すぐに使用できる Java ツリー構造の可視化ツールで、
クラスタやカテゴリの表示に使用できます。図 18 にカテゴリによる例を
示します。
2.
Interactive Viewer は、様々なタイプの可視化メタファを構築するための
Java ライブラリです。
図 18: StretchViewer による情報の可視化
Oracle Text
31
Oracle Corporation 発行「Oracle Text」の翻訳版です。
Oracle Database 10g リリース 2 の新機能
Oracle Database 10g リリース 2 では、パフォーマンスが強化されただけではなく、
Oracle Text に対する多数の拡張機能が提供されています。Oracle Database 10g リ
リース 2 の機能の詳細は、『Oracle Text の機能概要』を参照してください。
•
より優れた品質とパフォーマンスを提供する新しいフィルタ。
•
CTXRULE 索引タイプに対する中国語、韓国語、日本語のサポート。
•
ローカル・パーティション化索引に対するオンライン索引付けのサポー
ト。
•
コンテキスト・サマリーでハイライト表示するキーワードを生成するた
めの新しい ctx_doc.snippet パッケージ。
•
中国語と日本語における、アルファベットの大文字・小文字を区別した
検索のサポート。
まとめ
Oracle Text を使用することで、アプリケーション開発者は、任意のプログラミン
グ言語を使用して、強力なテキスト検索機能をターゲットのアプリケーションに
組み込めます。Oracle Text により、追加 API の習得やサポートのコストをかける
ことなく、また検索のための重複データを保持することなく、通常のデータベー
スが持つ強みを十分に活用することができます。テキスト形式のコンテンツ、メ
タデータや属性に基づいた検索が可能であるため、Oracle Database 10g はすべての
データ管理に対応可能な統合ポイントであると言えます。
詳細文献
1.
『Oracle Text リファレンス』(米 Oracle 社、2005 年)
2.
『Oracle Text アプリケーション開発者ガイド』(米 Oracle 社、2005 年)
3.
『Oracle Text による情報の可視化』ホワイト・ペーパー
4.
Oracle Textホームページ
http://otn.oracle.co.jp/products/database/oracle10g/index.html#content_manage
(日本語)
http://www.oracle.com/technology/products/text/index.html(英語)
5.
Oracle Textディスカッション・フォーラム
http://otn.oracle.com/forums/text.html(英語)
Oracle Text
32
Oracle Corporation 発行「Oracle Text」の翻訳版です。
Oracle Text ホワイト・ペーパー
2005 年 9 月
著書: 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 はオラクル社の登録商標です。
このガイドで使用されているさまざまな製品名およびサービス名には、オラクル社の商標が含まれています。
その他のすべての製品名およびサービス名は、各社の商標です。
無断転載を禁ず
この文書はあくまで参考資料であり、掲載されている情報は予告なしに変更されることがあります。
オラクル社は、本ドキュメントの無謬性を保証しません。また、本ドキュメントは、法律で明示的または暗黙的に記載されているかどうかに関係なく、商
品性または特定の目的に対する適合性に関する暗黙の保証や条件を含む一切の保証または条件に制約されません。オラクル社は、本書の内容に関していか
なる保証もいたしません。また、本書により、契約上の直接的および間接的義務も発生しません。本書は、事前の書面による許可を得ることなく、電子的
または機械的に、いかなる形態または手段によっても複製または伝送することはできません。
Oracle は米国 Oracle Corporation および関連会社の登録商標です。他の製品名は、それぞれの所有者の商標です。
Copyright © 2005 Oracle Corporation
All rights reserved.
Fly UP