Oracle Ultra Searchでは、メタデータをOracle Ultra Searchデータベースにロードするためのコマンドライン・ツールが提供されます。データが大量にある場合は、このツールによってHTMLベースの管理ツールより速くロードできます。
このローダー・ツールは次の種類のメタデータをサポートします。
メタデータ・ローダーはJavaアプリケーションです。このプログラムを使用するには、後述するXML Schemaの書式に準拠したXMLファイルにメタデータを格納する必要があります。これによって、XMLファイル名、データベース関連パラメータおよびローダー・タイプ・パラメータを指定してJavaプログラムを起動できます。プログラムではXMLファイルを解析し、メタデータをアップロードします。ステータスとエラーのメッセージは、端末のコンソールに表示されます。
ローダー・プログラムのバイナリ・ファイルは、%ULTRASEARCH_HOME%/bin/MetaLoader.classディレクトリにあります。
使用するコンピュータには、Java 1.5以上に準拠したJava Runtimeが必要です。システムのJava CLASSPATHには、次のJavaライブラリが含まれている必要があります。
Oracle XML Parser for Javaのバージョン2。ファイル名はxmlparserv2.jarです。
Oracle XML Schema Processor for Java。ファイル名はxschema.jarです。
Oracle Ultra Search Javaライブラリ。ファイル名はultrasearch.jarです。
基本のJava Archive(JAR)ファイル、ojdbc5.jarおよびojdbc6.jarには、キャラクタ・セットのUS7ASCII、WE8DEC、WE8ISO8859P1、WE8MSWIN1252およびUTF8の完全なグローバリゼーション・サポートを提供するために必要なすべてのクラスが含まれています。
オブジェクトまたはコレクションのCHARまたはVARCHARデータ・メンバーで他のキャラクタ・セットを使用するには、アプリケーションのCLASSPATH環境変数にorai18n.jarを含める必要があります。
|
注意: 以前のリリースはnls_charset12.zipファイルに依存していました。このファイルは現在では廃止されています。 |
システムのJava CLASSPATHには、Oracle Ultra Searchのバイナリ・ファイルのパス(UNIXの場合は%ULTRASEARCH_HOME%/bin、Windowsの場合は%ULTRASEARCH_HOME%\bin)も含めます。
ファイルを起動するには、次のように入力します。
% java MetaLoader -db database_connection_string -u user_name -p password -i instance_name -type loader_type -f input_file
コマンド・オプションの意味は、次のとおりです。
-dbはデータベース接続文字列です。
-uはデータベース・スキーマ・ユーザー名です。
-pはデータベース・スキーマ・パスワードです。
-iはOracle Ultra Searchインスタンス名です。
-typeはローダーのメタデータ・タイプで、lovまたはdocです。
-fは入力メタデータのXMLファイル名です。
たとえば、このツールを使用してXMLファイルtest.xmlに指定されている属性LOVをロードする際、次の引数を指定するとします。
データベース接続文字列: dlsun576:5521:isearch
スキーマ・ユーザー名: wk_test
スキーマ・パスワード: welcome
Oracle Ultra Searchインスタンス名: wk_inst
次の文によってローダー・プログラムを起動します。
% java MetaLoader -db dlsun576:5521:isearch -u wk_test -p welcome -i wk_inst -type lov -f test.xml
このローダー・ツールを使用してドキュメントとその検索オプション・スコアをOracle Ultra Searchに追加するには、パラメータ-typeの値をdocにする必要があります。
ドキュメントURLおよび検索オプション・スコアは、XMLファイルに定義されています。検索対象のドキュメントは1つ以上定義できます。各ドキュメントに、1つ以上の検索オプション・スコアのペアを指定できます。XMLファイルの定義は、XML Schemaに格納されます。
<?xml version = "1.0" encoding = "UTF-8"?>
<doc_list>
<doc url="http://www.oracle.com" data_source_name="Data Source A">
<term score="100">database</term>
<term score="90">internet</term>
<term score="80">software</term>
</doc>
<doc url="http://www-st.us.oracle.com" data_source_name="Data Source B">
<term score="100">Sever Technology</term>
<term score="100">ST Web site</term>
<term score="95">st</term>
</doc>
</doc_list>
この例では、ドキュメントURL http://www.oracle.comがデータ・ソースData Source Aにロードされます。これは、検索オプション項目にdatabase(スコア100)、internet(スコア90)、software(スコア80)を指定することで、Oracle Ultra Searchで定義されます。
|
注意: データ・ソース名は、データ・ソースの表示名ではなく、元のデータ・ソース名です。 |
ローダー・ツールを使用してLOVエントリおよび表示名をOracle Ultra Searchに追加するには、パラメータ-typeの値をlovにする必要があります。
LOVエントリおよび表示名は、XMLファイルに定義されています。XMLファイルには、検索属性LOVを1つ以上定義できます。デフォルトLOVおよびデータ・ソース固有のLOVは、両方ともXMLファイルに格納されます。XMLファイルの定義は、XML Schemaに格納されます。
<?xml version = "1.0" encoding = "UTF-8"?>
<lov_list>
<lov search_attr_name="Department" search_attr_type="string">
<default>
<lov_values>
<entry value="100"></entry>
<entry value="200"></entry>
</lov_values>
<lov_display_names lang="en-US">
<entry value="100" display_name="Human Resource"></entry>
<entry value="200" display_name="Finance"></entry>
</lov_display_names>
</default>
<data_source name ="data source a">
<lov_values>
<entry value="300"></entry>
<entry value="400"></entry>
</lov_values>
<lov_display_names lang="en-US">
<entry value="300" display_name="Sales"></entry>
<entry value="400" display_name="Marketing"></entry>
</lov_display_names>
</data_source>
<data_source name ="data source b">
<lov_values>
<entry value="500"></entry>
<entry value="600"></entry>
</lov_values>
<lov_display_names lang="en-US">
<entry value="500" display_name="Production"></entry>
<entry value="600" display_name="Research"></entry>
</lov_display_names>
</data_source>
</lov>
</lov_list>
前述の例では、文字列タイプの検索属性Departmentに関する複数のLOVがOracle Ultra Searchにロードされます。次のLOVがロードされます。
検索属性「Department」に関するデフォルトのLOVエントリ
データ・ソース「data source a」用の検索属性「Department」のLOV
データ・ソース「data source b」用の検索属性「Department」のLOV
ドキュメント検索オプション項目およびスコア用のXML Schemaは、次のようになります。
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
elementFormDefault = "qualified">
<xsd:element name = "doc_list">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "doc" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "term" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:simpleContent>
<xsd:extension base = "xsd:string">
<xsd:attribute name = "score" use = "required" type = "xsd:integer"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name = "url" use = "required" type = "xsd:string"/>
<xsd:attribute name = "data_source_name" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
LOVエントリおよび表示名用のXML Schemaは、次のようになります。
<?xml version = "1.0" encoding = "UTF-8"?>
<!--Generated by XML Authority. Conforms to w3c http://www.w3.org/2001/XMLSchema-->
<xsd:schema xmlns:xsd = "http://www.w3.org/2001/XMLSchema"
elementFormDefault = "qualified">
<xsd:element name = "lov_list">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "lov" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "default" minOccurs = "0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "lov_values" minOccurs = "0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "entry" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:attribute name = "value" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name = "lov_display_names" minOccurs = "0" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "entry" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:attribute name = "value" use = "required" type = "xsd:string"/>
<xsd:attribute name = "display_name" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name = "lang" use = "required">
<xsd:simpleType>
<xsd:restriction base = "xsd:string">
<xsd:length value = "5"/>
<xsd:pattern value = "[a-zA-Z]{2}\-[a-zA-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name = "data_source" minOccurs = "0" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "lov_values" minOccurs = "0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "entry" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:attribute name = "value" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name = "lov_display_names" minOccurs = "0">
<xsd:complexType>
<xsd:sequence>
<xsd:element name = "entry" maxOccurs = "unbounded">
<xsd:complexType>
<xsd:attribute name = "value" use = "required" type = "xsd:string"/>
<xsd:attribute name = "display_name" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name = "lang" use = "required">
<xsd:simpleType>
<xsd:restriction base = "xsd:string">
<xsd:length value = "5"/>
<xsd:pattern value = "[a-zA-Z]{2}\-[a-zA-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name = "name" use = "required" type = "xsd:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name = "search_attr_name" use = "required" type = "xsd:string"/>
<xsd:attribute name = "search_attr_type" use = "required">
<xsd:simpleType>
<xsd:restriction base = "xsd:string">
<xsd:enumeration value = "string"/>
<xsd:enumeration value = "number"/>
<xsd:enumeration value = "date"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:attribute>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>