この付録では、テキスト列にテキストをロードする方法の例を示し、ctxload
インポート・ファイルの構造についても説明します。この付録の内容は次のとおりです。
テキスト表を移入するには、CREATE
TABLE
を使用してid
およびtext
の2列の表を作成し、INSERT
文を使用してデータをロードすると簡単です。この例では、id
列を主キーにしています。これはオプションです。テキスト
列は、VARCHAR2
です。
create table docs (id number primary key, text varchar2(80));
テキスト
列を移入するには、次のようにINSERT
文を使用します。
insert into docs values(1, 'this is the text of the first document'); insert into docs values(12, 'this is the text of the second document');
次の例では、SQL*Loaderを使用してオペレーティング・システムからBLOB
列に複合フォーマットのドキュメントをロードする方法を説明します。例には、次の2つのステップがあります。
表の作成
制御ファイルを読み込み、データを表にロードするSQL*Loaderコマンドの入力
この例では、articles_formatted
表を次のように作成します。
CREATE TABLE articles_formatted ( ARTICLE_ID NUMBER PRIMARY KEY , AUTHOR VARCHAR2(30), FORMAT VARCHAR2(30), PUB_DATE DATE, TITLE VARCHAR2(256), TEXT BLOB );
article_id
列は、主キーです。ドキュメントは、BLOB
型であるテキスト
列にロードされます。
次のコマンドによって、制御ファイルLOADER1.DAT
を読み込むローダーを起動します。
sqlldr userid=demo/demo control=loader1.dat log=loader.log
loader1.dat
このSQL*Loader制御ファイルは、ロードされる列を定義し、loader2.dat
からarticles_formatted
表にデータを1行ずつロードするようにローダーに指示します。loader2.dat
の各行は、ロードするフィールドをカンマで区切られたリストとして保持します。
-- load file example load data INFILE 'loader2.dat' INTO TABLE articles_formatted APPEND FIELDS TERMINATED BY ',' (article_id SEQUENCE (MAX,1), author CHAR(30), format, pub_date SYSDATE, title, ext_fname FILLER CHAR(80), text LOBFILE(ext_fname) TERMINATED BY EOF)
この制御ファイルは、次の方法で、loader2.dat
からarticles_formatted
表にデータをロードするようにローダーに指示します。
loader2.dat
のドキュメント・フィールドを示す行の順番を、article_id
列に書き込みます。
行の1番目のフィールドをauthor
列に書き込みます。
行の2番目のフィールドをformat
列に書き込みます。
SYSDATE
によって指定された現在の日付をpub_date
列に書き込みます。
行の3番目のフィールドであるドキュメントのタイトルを、title
列に書き込みます。
ロードするドキュメントのすべての名前をext_fname
一時変数にロードし、実際のドキュメントをBLOB型のtext
列にロードします。
loader2.dat
このファイルには、articles_formatted
表の各行にロードするデータが含まれます。
各行には、articles_formatted
にロードされるフィールドの、カンマで区切られたリストがあります。各行の最後のフィールドは、テキスト列にロードされるファイルの名前を示します。
Ben Kanobi, plaintext,Kawasaki news article,../sample_docs/kawasaki.txt, Joe Bloggs, plaintext,Java plug-in,../sample_docs/javaplugin.txt, John Hancock, plaintext,Declaration of Independence,../sample_docs/indep.txt, M. S. Developer, Word7,Newsletter example,../sample_docs/newsletter.doc, M. S. Developer, Word7,Resume example,../sample_docs/resume.doc, X. L. Developer, Excel7,Common example,../sample_docs/common.xls, X. L. Developer, Excel7,Complex example,../sample_docs/solvsamp.xls, Pow R. Point, Powerpoint7,Generic presentation,../sample_docs/generic.ppt, Pow R. Point, Powerpoint7,Meeting presentation,../sample_docs/meeting.ppt, Java Man, PDF,Java Beans paper,../sample_docs/j_bean.pdf, Java Man, PDF,Java on the server paper,../sample_docs/j_svr.pdf, Ora Webmaster, HTML,Oracle home page,../sample_docs/oramnu97.html, Ora Webmaster, HTML,Oracle Company Overview,../sample_docs/oraoverview.html, John Constable, GIF,Laurence J. Ellison : portrait,../sample_docs/larry.gif, Alan Greenspan, GIF,Oracle revenues : Graph,../sample_docs/oragraph97.gif, Giorgio Armani, GIF,Oracle Revenues : Trend,../sample_docs/oratrend.gif,
シソーラスのインポート・ファイルのエントリには、次の形式を使用する必要があります。
phrase BT broader_term NT narrower_term1 NT narrower_term2 . . . NT narrower_termN BTG broader_term NTG narrower_term1 NTG narrower_term2 . . . NTG narrower_termN BTP broader_term NTP narrower_term1 NTP narrower_term2 . . . NTP narrower_termN BTI broader_term NTI narrower_term1 NTI narrower_term2 . . . NTI narrower_termN SYN synonym1 SYN synonym2 . . . SYN synonymN USE synonym1 または SEE synonym1 または PT synonym1 RT related_term1 RT related_term2 . . . RT related_termN SN text language_key: term
シノニム、上位語、下位語または関連語を持つワードまたは句です。
ISO-2788標準に従って、TTマーカーを句の前に置くことで、句が階層の最上位語であることを明示できますが、TTマーカーが必ず必要であるということはありません。実際、ctxloadはインポート時にTTマーカーを無視します。
最上位語は上位語(BT、BTG、BTPまたはBTI)を持たない句として識別されます。
注意: シソーラス問合せ演算子( SYN 、PT 、BT 、BTG 、BTP 、BTI 、NT 、NTG 、NTP 、NTI およびRT )は予約語であるため、シソーラスのエントリで句として使用できません。 |
broader_termNがphraseの上位(汎用、部分またはインスタンス)語であることを示すマーカーです。
broader_termNは、phraseの一般的な説明またはカテゴリを概念的に提供するワードまたは句です。たとえば、elephantというワードには、land mammalという上位語があります。
narrower_termNがphraseの下位(汎用、部分またはインスタンス)語であることを示すマーカーです。
phraseに上位(汎用、部分またはインスタンス)語がなく、1つ以上の下位(汎用、部分またはインスタンス)語がある場合、phraseは各階層内で最上位語として作成されます(Oracle Textのシソーラスでは、BT/NT、BTG/NTG、BTP/NTPおよびBTI/NTI階層は個別の構造体です)。
narrower_termNは、phraseの特定の説明(下位語)を概念的に提供するワードまたは句です。たとえば、elephantというワードには、indian elephantおよびafrican elephantという下位語があります。
phraseおよびsynonymNがシノニム・リング内でシノニムであることを示すマーカーです。
synonymNは、phraseと同じ意味を持つワードまたは句です。たとえば、dogというワードには、canineというシノニムがあります。
注意: シノニム・リングは、Oracle Textのシソーラスでは明示的に定義されていません。これらは、シノニムの推移的な性質によって作成されます。 |
phraseおよびsynonym1がシノニム・リング内でシノニムであることを示すマーカーです(SYNに似ています)。
また、USEマーカー、SEEマーカーまたはPTマーカーは、synonym1がシノニム・リングに対する優先語であることを示します。すべてのマーカーがシノニム・リングに対する優先語を定義するために使用できます。
注意: ユーザー定義のシソーラスをナレッジ・ベースのコンパイルに使用する場合は、シノニム・リングを宣言するときに優先語を指定する必要があります。キーワードUSE、SEEまたはPTのいずれかを使用して、問合せの一致をレポートするときに使用するシノニムを指定します。優先語に指定できるのは1つの語句のみです。 前述のキーワードを使用しないと、ワードのシノニムで定義した結果が戻されなくなります。同一のシノニム・リングの要素を宣言した複数のシソーラスをコンパイルすると、両方のファイルで優先語が同一になり、これによって、シノニム・リングで1つのワードのみが優先語として定義されます。 |
related_termNがphraseの関連語であることを示すマーカーです。
related_termNは、phraseに関連する意味を持つが、必ずしもシノニムではないワードまたは句です。たとえば、dogというワードには、wolfという関連語があります。
注意: 関連語には推移性はありません。句に2つ以上の関連語がある場合、その語はそれぞれ親句と関連しているだけであり、関連語同士が互いに関連しているわけではありません。 |
後続のtextが、前のエントリのスコープ・ノート(たとえば、コメント)であることを示すマーカーです。
termは、language_keyで指定された言語に翻訳された句です。
シソーラスの規格に従い、ロード・ファイルは、最上位語の下に語句をインデントし、語句のレベルを含むNT(またはNTG、NTP、NTI)マーカーを使用することによって、書式設定階層(BT/NT、BTG/NTG、BTP、NTP、BTI/NTI)をサポートします。
phrase NT1 narrower_term1 NT2 narrower_term1.1 NT2 narrower_term1.2 NT3 narrower_term1.2.1 NT3 narrower_term1.2.2 NT1 narrower_term2 . . . NT1 narrower_termN
この方法によって、最上位語のブランチ全体を、ロード・ファイル内で階層的に表示できます。
インポート・ファイルのエントリの構造には、次の条件が適用されます。
各エントリ(phrase、BT、NTまたはSYN)は、改行に続く1行以内でまとめる必要があります。
エントリは、1つのワードまたは句で構成されます。
エントリ(phrase、BT、NTまたはSYN)の最大長は、255バイトです。この中にはBT、NTおよびSYNのマーカーまたは改行は含まれません。
エントリにカッコまたはプラス符号は指定できません。
関連語句(BT、NTなど)で始まるファイルのすべての行は、行頭に1つ以上の空白が必要です。
ファイルには、同じphraseを2回以上使用できます。
各phraseには1つ以上の下位語エントリ(NT、NTG、NTP)、上位語エントリ(BT、BTG、BTP)、シノニム・エントリおよび関連語エントリを指定できます。
上位語、下位語、シノニムおよび優先語のエントリは、それぞれ適切なマーカーで始める必要があります。また、マーカーは大文字で指定します。
phraseには、上位語、下位語およびシノニムをどのような順序でも指定できます。
同形異義語を使用する場合は、その後に意味を限定する語をカッコで囲んで指定する必要があります。
たとえば、cranes(birds)、cranes(lifting equipment)
のように指定します。
コンパウンド語句は、各要素の間にプラス記号を入れます(例: buildings + construction)。
コンパウンド語句は、他の語句に対するシノニムまたは優先語としてのみ使用できます。コンパウンド語句自体は語句として使用できません。また、階層関係にも使用できません。
語句に続く行に、最大2000バイトまでのスコープ・ノート(SN)を指定できます。
複数行に渡るスコープ・ノートを作成できますが、ノートの各行にSNマーカーが必要です。
不適切なSNの使用例
VIEW CAMERAS SN Cameras with through-the lens focusing and a range of movements of the lens plane relative to the film plane
適切なSNの使用例
VIEW CAMERAS SN Cameras with through-the lens focusing and a SN range of movements of the lens plane relative SN to the film plane
複数ワードの語句を、予約語で始めることはできません(たとえば、useという語句は予約語であるため、use other doorは語句として使用できません。ただし、useという語句は使用可能です)。
インポート・ファイルのエントリに定義される関連語句には、次の条件が適用されます。
関連語エントリは、句または別の関連語エントリの後に続けて指定する必要があります。
関連語エントリは1つ以上の空白から始め、RTマーカーの後に空白を入れ、その同じ行に関連語を指定します。
複数の関連語には複数のRTマーカーが必要です。
不適切なRTの使用例
MOVING PICTURE CAMERAS RT CINE CAMERAS TELEVISION CAMERAS
適切なRTの使用例
MOVING PICTURE CAMERAS RT CINE CAMERAS RT TELEVISION CAMERAS
語句には、複数の上位語、下位語および関連語を指定できます。
この項では、正しく形式設定されたシソーラスのインポート・ファイルの例を3つ示します。
cat SYN feline NT domestic cat NT wild cat BT mammal mammal BT animal domestic cat NT Persian cat NT Siamese cat wild cat NT tiger tiger NT Bengal tiger dog BT mammal NT domestic dog NT wild dog SYN canine domestic dog NT German Shepard wild dog NT Dingo
animal NT1 mammal NT2 cat NT3 domestic cat NT4 Persian cat NT4 Siamese cat NT3 wild cat NT4 tiger NT5 Bengal tiger NT2 dog NT3 domestic dog NT4 German Shepard NT3 wild dog NT4 Dingo cat SYN feline dog SYN canine
35MM CAMERAS BT MINIATURE CAMERAS CAMERAS BT OPTICAL EQUIPMENT NT MOVING PICTURE CAMERAS NT STEREO CAMERAS LAND CAMERAS USE VIEW CAMERAS VIEW CAMERAS SN Cameras with through-the lens focusing and a range of SN movements of the lens plane relative to the film plane UF LAND CAMERAS BT STILL CAMERAS