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>