HiRDB XML拡張機能　HiRDB XML Extension Version 10

解説・手引書

3020-6-576

前書き

対象製品

●適用OS：HP-UX 11i V3(IPF)

P-1J63-9AA1 HiRDB XML Extension Version 10 10-00

●適用OS：AIX V7.1，AIX V7.2

P-1M63-9AA1 HiRDB XML Extension Version 10 10-00

●適用OS：Red Hat Enterprise Linux 6 (64-bit x86_64)，Red Hat Enterprise Linux 7 (64-bit x86_64)

P-8263-9AA1 HiRDB XML Extension Version 10 10-00

●適用OS：Windows Server 2012，Windows Server 2012 R2，Windows Server 2016，Windows 7 Professional (x64)，Windows 7 Enterprise (x64)，Windows 7 Ultimate (x64)，Windows 8.1 Pro (x64)，Windows 8.1 Enterprise (x64)，Windows 10 Pro (x64)，Windows 10 Enterprise (x64)

P-2963-9AA4 HiRDB XML Extension Version 10 10-00

これらのプログラムプロダクトのほかにもこのマニュアルをご利用になれる場合があります。詳細は「リリースノート」でご確認ください。

輸出時の注意

本製品を輸出される場合には、外国為替及び外国貿易法の規制並びに米国輸出管理規則など外国の輸出関連法規をご確認の上、必要な手続きをお取りください。

なお、不明な場合は、弊社担当営業にお問い合わせください。

商標類

HITACHI，Cosminexus，HiRDBおよびuCosminexusは，株式会社 日立製作所の商標または登録商標です。

AMDは，Advanced Micro Devices, Inc.の商標です。

IBM，AIXは，世界の多くの国で登録されたInternational Business Machines Corporationの商標です。

Itaniumは，アメリカ合衆国および / またはその他の国における Intel Corporationの商標です。

Linuxは，Linus Torvalds氏の日本およびその他の国における登録商標または商標です。

Microsoftは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

OracleとJavaは，Oracle Corporation 及びその子会社，関連会社の米国及びその他の国における登録商標です。

Red Hatは，米国およびその他の国でRed Hat, Inc. の登録商標もしくは商標です。

UNIXは，The Open Groupの米国ならびに他の国における登録商標です。

Windowsは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

Windows Serverは，米国Microsoft Corporationの米国およびその他の国における登録商標または商標です。

その他記載の会社名，製品名などは，それぞれの会社の商標もしくは登録商標です。

発行

2018年10月　3020-6-576

著作権

All Rights Reserved. Copyright (C) 2018, Hitachi, Ltd.

変更内容

変更内容(3020-6-576)　HiRDB XML Extension Version 10 10-00

追加・変更内容

変更個所

マニュアルの体裁を変更しました。

−

単なる誤字・脱字などはお断りなく訂正しました。

変更内容(3020-6-480-30)　HiRDB XML Extension Version 9 09-50

追加・変更内容

検索高速化インデクス（V2）機能が英文インデクスに対応しました。

データ削除（DELETE）時のログ量を削減しました。

検索高速化インデクス（V2）機能が他列の絞り込み結果を利用できるようになりました。

これに伴って，次のパラメタを追加しました。

set phj_ratio_of_filtering

UnicodeのIVS（Ideographic Variation Sequence）に対応する場合，次のモードを指定できるようにしました。

VS識別モード

VS無効化モード

カタカナ拗音展開，およびひらがな拗音展開を拡張できるようにしました（拗音展開拡張モード）。また，カタカナ長音・ハイフン展開を拡張できるようにしました（長音ハイフン展開拡張モード）。

これに伴って，次のパラメタを追加しました。

set phj_expand_youon_mode

set phj_expand_chouon_mode

スキャン検索結果の重複排除機能をサポートしました。

これに伴って，次のパラメタを追加しました。

set phj_scan_result

変更内容(3020-6-480-20)　HiRDB XML Extension Version 9 09-04

追加・変更内容

64ビット版の場合の一括登録時最大メモリサイズの最大値を3,670,016キロバイトにしました。

64ビット版の場合の検索時最大ワークメモリサイズの最大値を4,194,303キロバイトにしました。

検索高速化インデクス（V2）機能で，高速な検索ができるようになりました。これに伴って，次のユティリティを追加しました。

phjincrword（文字列指定インクリメンタルユティリティ）

カタカナ異表記を区別しないで検索できるようにしました（カタカナ異表記統一機能）。これに伴って，次のユティリティの記述を変更しました。

phdsyndicconv（同義語辞書移行ユティリティ）

次のメッセージを追加しました。

01008-W，02009-I，02010-I，62046-I，62047-I

変更内容(3020-6-480-10)　HiRDB XML Extension Version 9 09-03

追加・変更内容

ユーザが指定した2〜3バイトの文字を統制できるようにしました（統制ルール指定機能）。これに伴い，次のユティリティを追加しました。

phdrulecheck（統制ルールチェックユティリティ）

XMLPARSE関数を使用してXMLデータを登録する場合，生成するESIS-B形式データに原文書を保持するかどうかを指定できるようにしました（原文書保持指定）。

XQuery変換式をSQL文中に記述することで，XML型列に登録したXMLデータを部分的に更新できるようにしました

（XQuery変換式を使用した部分更新機能）。

ESIS-B形式データ生成をするときに，「原文保持指定機能」を使用できるようになりました。

「推奨する運用方式」に「XQuery変換式を使用する場合」を追加しました。

はじめに

このマニュアルは，次に示すプログラムプロダクトの機能，システム構築，環境設定および運用方法について説明したものです。

P-1J63-9AA1　HiRDB XML Extension Version 10

P-1M63-9AA1　HiRDB XML Extension Version 10

P-8263-9AA1　HiRDB XML Extension Version 10

P-2963-9AA4　HiRDB XML Extension Version 10

以降，このマニュアルでは，上記のプログラムプロダクトの総称をXML Extensionとします。

なお，XML Extensionに含まれるSGMLテキストおよび文字列データの全文検索機能については次のマニュアルを参照してください。

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10

対象読者

このマニュアルは次の方にお読みいただくことを前提に説明しています。

XML Extensionのシステムを構築し，構築したシステムの環境を管理・運用するHiRDB管理者の方

HiRDBに関する知識および基本操作を習得している方

UNIXまたはWindowsに関する基本的な知識をお持ちの方

XMLに関する基本的な知識をお持ちの方

関連マニュアル

このマニュアルの関連マニュアルを次に示します。必要に応じてお読みください。

HiRDB Version 10 解説（3020-6-551）

HiRDB Version 10 システム導入・設計ガイド（UNIX(R)用）（3020-6-552）

HiRDB Version 10 システム導入・設計ガイド（Windows(R)用）（3020-6-553）

HiRDB Version 10 システム定義（UNIX(R)用）（3020-6-554）

HiRDB Version 10 システム定義（Windows(R)用）（3020-6-555）

HiRDB Version 10 システム運用ガイド（UNIX(R)用）（3020-6-556）

HiRDB Version 10 システム運用ガイド（Windows(R)用）（3020-6-557）

HiRDB Version 10 コマンドリファレンス（UNIX(R)用）（3020-6-558）

HiRDB Version 10 コマンドリファレンス（Windows(R)用）（3020-6-559）

HiRDB Version 10 UAP開発ガイド（3020-6-560）

HiRDB Version 10 SQLリファレンス（3020-6-561）

HiRDB Version 10 メッセージ（3020-6-562）

インナレプリカ機能 HiRDB Staticizer Option Version 10（3020-6-563）

HiRDB 全文検索プラグイン HiRDB Text Search Plug-in Version 10（3020-6-577）

Cosminexus リファレンス　定義編（3020-3-M11）

Cosminexus XML Processor　ユーザーズガイド（3020-3-U27）

なお，本文中で使用しているHiRDB Version 10のマニュアル名は，Version 10，（UNIX(R)用），（Windows(R)用）を省略して表記しています。使用しているプラットフォームに応じてUNIX用またはWindows用のマニュアルを参照してください。

このマニュアルの図中で使用する記号

このマニュアルの図中で使用する記号を，次のように定義します。

このマニュアルで使用する記号

このマニュアルで使用する記号を次に示します。

記号

意味

｜

ストローク

横に並べられた複数の項目に対し，項目間の区切りを示し，「または」の意味を示します。

（例）

　Ａ｜Ｂ｜Ｃは，「Ａ，ＢまたはＣ」を意味します。

｛　｝

波括弧

この記号で囲まれている複数の項目のうちから一つを選択することを示します。

（例）

　｛Ａ｜Ｂ｜Ｃ｝では，Ａ，ＢまたはＣのどれか一つを指定することを示します。

〔　〕

きっ甲

この記号で囲まれている項目は省略してもよいことを示します。複数の項目が横に並べて記述されている場合には，すべてを省略するか，記号｛ ｝と同じくどれか一つを選択します。

（例）

　〔Ａ〕は「何も指定しない」か「Ａを指定する」ことを示します。

　〔Ｂ｜Ｃ〕では「何も指定しない」か「ＢまたはＣを指定する」ことを示します。

＜　＞

山括弧

この記号で囲まれた複数の項目を一つの単位として，繰り返して指定できます。

（例）

　＜ＡＢＣ＞では，次のように指定できることを示します。

　ＡＢＣ

　ＡＢＣ

…

リーダ

記述が省略されていることを示します。この記号の直前に示された項目を繰り返し複数個指定できます。

（例）

　Ａ，Ｂ，Ｂ…では，「Ａの後ろにＢを複数個指定する」ことを示します。

△

白三角

1文字の半角スペースを示します。

△n

白三角とn文字

n文字以上の半角スペースを示します。

このマニュアルで使用する構文要素

このマニュアルで使用する構文要素の種類を次に示します。

種類

定義

英字

A〜Z　a〜z

英小文字

a〜z

英大文字

A〜Z

数字

0〜9

英数字

A〜Z　a〜z　0〜9

記号

！　"　＃　＄　％　＆　'　（　）　＋　，　−　．　／　：

；　＜　＝　＞　＠　［　］　＾　＿　｛　｝　￣

タブ　スペース

注

ただし，カタカナ文字の直後にある「−」は，カタカナ文字になります。

このマニュアルで使用する計算式の記号

このマニュアルで使用する計算式の記号の意味を次に示します。

記号

意味

↑　↑

計算結果の値の小数点以下を切り上げることを示します。

（例）

　↑34÷3↑の計算結果は12となります。

↓　↓

計算結果の値の小数点以下を切り捨てることを示します。

（例）

　↓34÷3↓の計算結果は11となります。

max

計算結果の最も大きい値を選ぶことを示します。

（例）

　max（3×6，4＋7）の計算結果は18となります。

min

計算結果の最も小さい値を選ぶことを示します。

（例）

　min（3×6，4＋7）の計算結果は11となります。

このマニュアルで使用する略語

このマニュアルで使用する主な英略語を次に示します。

英略語

説明

AP

Application Program

BES

Back End Server

BLOB

Binary Large OBject

DB

Data Base

DIC

Dictionary Server

DTD

Document Type Definition

ESIS-B

Element Structure Information Set-Binary Format

EUC

Extended UNIX Code

FES

Front End Server

FTP

File Transfer Protocol

IPF

Itanium(R) Processor Family

IVS

Ideographic Variation Sequence

JIS

Japanese Industrial Standard code

MGR

System Manager

OS

Operating System

RDB

Relational Data Base

SDS

Single Database Server

UAP

User Application Program

VS

Variation Selector

XML

eXtensible Markup Language

このマニュアルでの表記

このマニュアルで使用する製品名称の略称を次に示します。

製品名称

略称

AIX V7.1

AIX

AIX V7.2

HiRDB Server Version 10

HiRDB/シングルサーバまたはシングルサーバ

HiRDB

HiRDB/パラレルサーバまたはパラレルサーバ

HiRDB/Run Time Version 10

HiRDBクライアント機能

HiRDB/Run Time Version 10(64)

HiRDB/Developer's Kit Version 10

HiRDB/Developer's Kit Version 10(64)

HiRDB Staticizer Option Version 10

Staticizer Option

HiRDB Text Search Plug-in Version 10

Text Search Plug-in

HiRDB Text Search Plug-in Conceptual Extension Version 7

Text Search Plug-in Conceptual Extension

HP-UX 11i V3 (IPF)

HP-UXまたはHP-UX (IPF)

Linux(R)

Linux

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux 6

Linux

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Linux 7

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux (EM64T)

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Red Hat Enterprise Linux(R) 6 (64-bit x86_64)

Linux 6 (64-bit x86_64)

Linux 6

Red Hat Enterprise Linux(R) 7 (64-bit x86_64)

Linux 7 (64-bit x86_64)

Linux 7

Microsoft(R) Windows Server(R) 2012 Standard

Windows Server 2012

Microsoft(R) Windows Server(R) 2012 Datacenter

Microsoft(R) Windows Server(R) 2012 R2 Standard

Windows Server 2012 R2

Microsoft(R) Windows Server(R) 2012 R2 Datacenter

Microsoft(R) Windows Server(R) 2016 Standard

Windows Server 2016 Standard

Windows Server 2016

Microsoft(R) Windows Server(R) 2016 Datacenter

Windows Server 2016 Datacenter

Microsoft(R) Windows(R) 7 Professional

Windows 7 Professional

Windows 7

Microsoft(R) Windows(R) 7 Enterprise

Windows 7 Enterprise

Microsoft(R) Windows(R) 7 Ultimate

Windows 7 Ultimate

Microsoft(R) Windows(R) 7 Professional (x64)

Windows 7 (x64)

Microsoft(R) Windows(R) 7 Enterprise (x64)

Microsoft(R) Windows(R) 7 Ultimate (x64)

Microsoft(R) Windows(R) 7 Professional (x64)

Windows 7 Professional (x64)

Microsoft(R) Windows(R) 7 Enterprise (x64)

Windows 7 Enterprise (x64)

Microsoft(R) Windows(R) 7 Ultimate (x64)

Windows 7 Ultimate (x64)

Windows(R) 8.1 (Core Edition)

Windows 8.1 (Core Edition)

Windows 8.1

Windows(R) 8.1 Pro

Windows 8.1 Pro

Windows(R) 8.1 Enterprise

Windows 8.1 Enterprise

Windows(R) 8.1 (Core Edition) (x64)

Windows 8.1 (Core Edition) (x64)

Windows(R) 8.1 Pro (x64)

Windows 8.1 Pro (x64)

Windows(R) 8.1 Enterprise (x64)

Windows 8.1 Enterprise (x64)

Windows(R) 10 Home

Windows 10 Home

Windows 10

Windows(R) 10 Pro

Windows 10 Pro

Windows(R) 10 Enterprise

Windows 10 Enterprise

Windows(R) 10 Home (x64)

Windows 10 Home (x64)

Windows(R) 10 Pro (x64)

Windows 10 Pro (x64)

Windows(R) 10 Enterprise (x64)

Windows 10 Enterprise (x64)

Windows Server 2012，およびWindows Server 2016を総称してWindows Serverと表記します。また，Windows Server，Windows 7，Windows 8.1，およびWindows 10を総称してWindowsと表記します。

HP-UX，AIX，およびLinuxを総称してUNIXと表記します。

このマニュアルでは，「ディレクトリ」と「フォルダ」は，「ディレクトリ」に統一して表記しています。また，パス名の区切りは「／」で表記している個所があります。Windows版のXML Extensionをご使用の場合は，マニュアル中の「／」を「¥」に置き換えてください。

KB（キロバイト）などの単位表記について

1KB（キロバイト），1MB（メガバイト），1GB（ギガバイト），1TB（テラバイト）はそれぞれ1,024バイト，1,024²バイト，1,024³バイト，1,024⁴バイトです。

HiRDB Version 9とHiRDB Version 10の製品体系の違い

HiRDB Version 10では，製品体系を次のように変更しました。

HiRDB Server with Additional Functionを廃止し，HiRDB Server with Additional Functionの機能をHiRDB Serverに統合しました。

HiRDB Version 9とHiRDB Version 10の製品体系の違いを次に示します。

1　解説

この章では，XML Extensionの概要，特長，および機能について説明します。

1.1　XML Extensionとは

XML Extensionは，業務間のインタフェースやコンテンツの標準的なフォーマットとして利用されるXMLデータを，XML型列の使用によってそのまま利用できます。

XML型はデータ構造の定義が不要なため，XML型のデータ構造を変更した場合でも，表の定義を変更する必要はありません。XMLの持つ高い柔軟性をそのまま活かすことで，容易にデータを管理できます。このため，企業やさまざまな研究機関で保有している知的財産としての大量の文書や，取り扱うコンテンツのデータ構造に変更が発生した場合でも，システムの変更を最小限に抑え業務への影響を少なくできます。

また，検索についても標準的なXMLへの問い合わせ言語であるXQueryを利用するSQL/XMLの主要な機能をサポートしています。

1.1.1　XML Extensionの特長

XML Extensionには，次の特長があります。

(1)　柔軟なデータ構造

XML ExtensionのXML型はデータ構造の定義が必要ないため，XMLデータをそのまま表に格納できます。また，XML型のデータ構造を変更した場合でも，表の定義を変更する必要はありません。XMLの持つ高い柔軟性をそのまま活かすことで，容易にデータを管理できます。

(2)　インデクス作成によるXMLデータの高速な検索

IXXMLインデクスの作成で，属性やテキストに対して高速な検索ができます。またHiRDBの特長を生かし，高い信頼性を持つシステムとしてXMLデータの高速な検索ができます。

(3)　自由なスケーリング

HiRDBパラレルサーバの利用で，システム要件に応じた柔軟なデータベースを作成できます。

1.2　XML Extensionのシステム構成

この節では，XML Extensionを構成するプログラムについて説明します。また，XML Extensionのシステム構成例も示します。

1.2.1　XML Extensionを構成するプログラム

XML Extensionを構成するプログラムは，XMLデータ検索プラグインです。

XMLデータ検索プラグインは，XML型という抽象データ型でXMLデータを扱います。プログラムの概要を次に説明します。

(1)　XMLデータ検索プラグイン

XMLデータ検索プラグインは，XMLデータ型プラグインとIXXMLインデクス型プラグインで構成されています。

XMLデータ型プラグイン

XMLデータ型プラグインは，XML型という抽象データ型を扱うプラグインで，文字列の検索，登録などの操作機能を実現します。

XML ExtensionでのXMLデータ型プラグインの名称は，_phdxmlです。

IXXMLインデクス型プラグイン

IXXMLインデクス型プラグインは，XML型に対する検索インデクスを扱うプラグインで，IXXML型というインデクス型を追加します。IXXMLインデクス型プラグインはn-gramインデクス方式の検索エンジンを持ち，XMLデータ型プラグインに対して検索手段を提供します。

XML ExtensionでのIXXMLインデクス型プラグインの名称は，_phjxmlです。

1.2.2　XML Extensionシステムの構成例

XML Extensionシステムの構成例を次の図に示します。なお，この例では，HiRDB/パラレルサーバを前提に説明しています。

図1‒1　XML Extensionシステムの構成例

1.3　XML Extensionを利用した検索

XML Extensionを利用した検索には，「XMLデータ検索」があります。この節では，XML Extensionでの検索の概要について説明します。

1.3.1　XMLデータ検索

XML ExtensionのXMLデータ検索プラグインでは，ユーザが任意に指定したXMLデータをキーワードにして文書を検索します。例えば，キーワードを「最新技術」として，「『最新技術』という単語を含む文書を探す」という検索ができます。

検索のキーワードになる単語を，検索タームといいます。検索タームにさらに条件を付け加えることで，さまざまな条件での検索ができます。また，IXXMLインデクス型プラグインを作成することで，高速な検索を実現できます。

XML ExtensionでのXMLデータ検索の概要を次の図に示します。

図1‒2　XML ExtensionでのXMLデータ検索の概要

(1)　XMLデータ検索の特長

XML Extensionは，XMLデータをHiRDBの表の一つの列に格納して管理しています。XML列に対して，XQueryや抽象データ型関数を使っていろいろな操作ができます。

(2)　XMLデータ検索の種類

XML ExtensionでのXMLデータ検索の基本は，検索タームを指定した検索方法です。この検索方法を基にXML Extensionで提供しているさまざまな検索機能を利用することで，XMLデータを柔軟に検索できます。XML Extensionで提供する検索条件の種類を次に説明します。

(a)　検索タームを複数指定する検索

検索条件には，検索タームを複数個指定できます。例えば，「『最先端技術』および『パソコン』の両方の単語が含まれるXMLデータ」を検索できます。この例では，検索ターム同士の論理積（AND条件）を検索の条件にしています。さらに，論理和（OR条件）を検索条件にして，「『最先端技術』または『パソコン』のうち，どちらかを含むXMLデータ」を検索できます。

(b)　近傍条件検索

二つの検索ターム間の文字数（距離）を検索条件にできます。例えば，「『最新』と『技術』の間の文字数が20文字ちょうどの文字列を含むXMLデータ」を検索できます。このような検索を近傍条件検索といいます。

(c)　同義語・異表記展開検索

例えば，「ｓｋｉ」を検索タームにする場合，「ski」「Ｓｋｉ」などで表記されているXMLデータも検索したい場合があります。同義語・異表記展開検索はこのような場合に使用します。

同義語展開検索では，同義語辞書の定義に基づいて，検索タームの同義語が自動的に展開されます。異表記展開検索では，XML Extensionでのルールに基づいて自動的に検索タームの異表記が展開されます。展開された同義語・異表記は，検索タームとあわせて検索条件にできます。

HiRDBのLIKE述語には，同義語・異表記展開の機能はありません。文字列データの同義語・異表記展開検索を実行する場合は，Text Search Plug-inの文字列検索プラグインを使用してください。

(d)　論理演算検索

検索条件式同士の論理演算を条件にする検索を，論理演算検索といいます。例えば，「『条件A』および『条件B』で，両方の条件に一致するXMLデータ」を検索できます。この例では，検索条件同士の論理積（AND条件）を検索条件にしています。さらに，論理和（OR条件）を検索の条件にして，「『条件A』または『条件B』のうち，どちらかの条件に一致するXMLデータ」を検索できます。

(e)　構造名を指定した検索

XMLデータ検索プラグインでXMLデータを検索する場合は，構造名を指定した検索ができます。例えば「文書・章・節・項」という要素を持つXMLデータを格納する列があるとします。この列に対して「節の中に『XML』という単語を含むXMLデータ」のように，構造を条件にして検索できます。

(f)　重み付き検索

検索条件に複数のキーワードを指定する場合，それぞれの条件に対して「重み」（重要度）を指定できます。

例えば，「政治」と「経済」という二つのキーワードが含まれるXMLデータを検索する場合に，「経済」というキーワードより，「政治」というキーワードの重要度を上げて検索できます。この場合，「政治」の出現回数によって得点（スコア）を付けた検索結果が得られます。なお，文字列検索プラグインでは検索条件に重みを指定できません。

(g)　NOT検索

検索タームを含まないXMLデータを検索できます。例えば，「『イントラネット』を含まないXMLデータ」を検索できます。このような検索を，NOT検索といいます。ただし，スコア情報は取得できません。

(h)　ほかの列の検索条件との複合条件検索

検索タームを指定した条件に加えて，XMLデータ以外の情報を格納した列に対する検索条件を組み合わせて検索できます。例えば，XMLデータを格納している列とXMLデータ作成日付を格納している列を持つ表に対して，「『先端技術』という単語を含み，2007/1/1以降であるXMLデータ」を検索できます。

(i)　除外文字検索

検索タームの一部または前後に特定の文字がある場合を除外して，該当するXMLデータを検索できます。例えば，「ローマ」を含むXMLデータの中で，「ローマ字」を含むXMLデータだけを除外して検索できます。

2　XML Extensionシステムの構築

この章では，XML Extensionの運用を開始するために必要な定義ファイルの概要，XML Extensionの環境設定およびデータベースの作成について説明します。また，ユーザごとの環境設定方法についても説明します。

2.1　XML Extensionシステムの構築の流れ

XML Extensionシステムの環境を構築する流れを次の図に示します。図に示した構築の流れに従って，次の節以降でシステム構築の方法を説明します。

図2‒1　XML Extensionシステムの構築の流れ

注意事項

XML Extensionを運用するすべてのサーバでは，必ずシステム単位，ユニット単位，BES単位（またはシングルサーバ単位）に環境定義情報を設定してください。この情報を設定しないと，検索結果に誤りが生じたり，検索が実行できないおそれがあります。

2.2　システムの設計

この節では，XML Extensionのシステムを構築する前に，検討していただきたいことについて説明します。

2.2.1　検討項目

(1)　リソースの見積もり

メモリ所要量やRDエリア容量など，XML Extensionが使用するリソースを見積もってください。リソースの見積もりの詳細については，「2.3　リソースの見積もり」を参照してください。

(2)　運用形態の決定

XML Extensionの運用方法を検討します。推奨する運用方法については「6.　推奨する運用方法」を参照してください。

インデクス定義時に，次の登録運用の形態を設定できます。用途に合わせて設定してください。

(a)　インデクス作成方法の指定

表のXML型列にXMLデータを登録している状態でCREATE INDEXを実行する場合，次のどれかのインデクス作成方法を指定できます。

即時登録

インデクス作成とインデクスへのXMLデータ登録を同時に実行する方法です。

初期分割登録

インデクス作成時にはXMLデータ登録をしないで，インデクス作成開始ユティリティを使用して，実行時間やインデクスへの登録件数を指定し，XMLデータを登録する方法です。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

初期分割登録の対象となるのは，インデクス作成時に登録済みのデータです。例えば，表に大量のXMLデータを登録している状態でインデクス作成を実行する場合では，インデクスへのXMLデータ登録に時間が掛かります。このような場合，時間や件数で区切って登録できます。なお，初期分割登録ではインデクスへのXMLデータ登録が完了すると，以降は即時登録となります。

分割遅延登録

初期分割登録での対象範囲に加えて，インデクス作成後に登録されたXMLデータも遅延登録する方法です。インデクス作成後は初期分割登録と同様に，インデクス作成開始ユティリティを使用して，XMLデータをインデクスへ一括登録できます。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

また，インデクス分割遅延登録運用変更ユティリティを使用して，分割遅延登録の開始と終了を指定することもできます。インデクス分割遅延登録運用変更ユティリティの詳細については，「3.2.9　phjdelay（インデクス分割遅延登録運用変更ユティリティ）」を参照してください。

2.2.2　使用する文字コードによる機能差異について

HiRDBで設定した文字コード種別によって，XML Extensionで使用できる機能が異なります。文字コード種別によるXML Extensionの機能差を，次の表に示します。

表2‒1　文字コード種別によるXML Extensionの機能差

プラグイン種別

ユティリティ

コマンド名

機能

Shift-JIS

または

EUC使用時

utf-8

使用時

XMLデータ検索プラグイン

XMLデータ型プラグイン

phdxmlcnv

XMLデータのESIS-B形式データ変換

○

○

phdsyndicreg

同義語辞書の登録

○

○

phdsyndicrm

同義語辞書の削除

○

○

phdsyndicbkup

同義語辞書のバックアップ

○

○

IXXMLインデクス型プラグイン

phjidxls

インデクス情報の取得

○

○

phjincmt

インデクスのインクリメンタル（最適化）

○

○

phjincrword

文字列指定インクリメンタルユティリティ

○

○

phjexpnd

インデクスの拡張

○

×※

phjstartidx

インデクスの作成開始

○

○

phjdelay

インデクス遅延更新開始／終了指定

○

○

phjmodidx

インデクス情報変更

○

○

phjcond

インデクス詰め替え

○

○

（凡例）

○：使用できる。

×：使用できない。

注※

文字コードutf-8の場合はインデクスを自動拡張するため，phjexpnd（インデクスの拡張）コマンドを実行する必要はありません。

2.3　リソースの見積もり

この節では，XML Extensionが使用するリソースの所要量の見積もりについて説明します。

2.3.1　メモリ所要量

XML Extensionのメモリ所要量の見積もり方法について説明します。

(1)　XMLデータ型プラグインとIXXMLインデクス型プラグインの場合

(a)　データ操作（XMLデータ登録／更新）

単一XMLデータ登録時

遅延更新機能またはインデクス未定義の場合

使用メモリ［メガバイト］= max ( besprocess,xmlpsize )

インデクス作成の場合

使用メモリ［メガバイト］= max ( min(config指定メモリ×10-3 , docsize×5×10-6 ) , besprocess )

besprocess = docsize×7.5×10⁻⁶

xmlpsize：XMLPARSE関数を使用して登録する場合

xmlpsize= 10+ ( docsize×10＋(element+attrcnt)×500)×10⁻⁶

xmlpsize：XMLPARSE関数を使用しない場合

xmlpsize=0

elementcnt：XMLデータ中の要素数合計値

attrcnt：XMLデータ中の属性数合計値

config指定メモリ：IXXMLインデクス型プラグインの環境設定項目「1件登録時最大メモリ」の設定値［キロバイト］

besprocess：BESまたはSDSでの使用メモリ［メガバイト］

docsize：XMLデータサイズ［バイト］

複数XMLデータ一括登録

差分インデクス統合，CREATE INDEX，遅延更新時のインデクス作成の場合

使用メモリ［メガバイト］= min ( config指定メモリ×10-3 , docsize×doccnt×6×10-6 )

pdloadの場合

使用メモリ［メガバイト］= max ( docsize×6×XML型定義列数×10-6 , min ( config指定メモリ×10-3 , docsize×doccnt×6×10-6 ) , xmlpsize )

docsize：平均登録XMLデータサイズ［バイト］

doccnt：登録XMLデータ数

config指定メモリ：IXXMLインデクス型プラグインの環境設定項目「一括登録時最大メモリ」の設定値［キロバイト］

xmlpsize：XMLPARSE関数を使用して登録する場合

xmlpsize= 10+ (singledocsize×10＋(element+attrcnt)×500)×10⁻⁶

登録XMLデータ中で単独のXMLデータが上記計算式で最大になる値を採用してください。

xmlpsize：XMLPARSE関数を使用しない場合

xmlpsize=0

elementcnt：単独のXMLデータ中の要素数合計値

attrcnt：単独のXMLデータ中の属性数合計値

singledocsize：単独のXMLデータサイズ［バイト］

(b)　データ操作（XMLデータ削除）

使用メモリ［キロバイト］= 24

(c)　データ操作（インデクス詰め替えユティリティ）

使用メモリ［メガバイト］= 10

(d)　検索

XMLEXISTS関数でIXXMLインデクスを使った検索を実行した場合

1回のXMLデータ検索での使用メモリ［メガバイト］= min ( config指定メモリ×10-3 , ヒット件数×検索ターム数×↑検索ターム平均長/2↑×20×10-6 )＋ヒット件数×12×10⁻⁶＋3

1SQLで複数のXMLEXISTS関数を指定した場合

検索時のメモリ所要量の最大値＝1回の検索使用メモリ×1SQL文中に記述したプラグイン関数の個数

(e)　1RDエリア当たりの排他制御用共用メモリ

登録・検索同時実行を実行する場合，BESまたはシングルサーバ内のIXXML型用のRDエリア単位に，次のサイズの排他制御用共用メモリが必要です。この領域は，IXXML型用の共用メモリ中に確保されます。

使用メモリ［キロバイト］= max ( ( user_cnt×lock_obj_size×10 ) ×10⁻³,8 )

user_cnt：HiRDBシステムで同時に実行できるユーザ数の最大数（HiRDB環境定義pd_max_users指定値）

lock_obj_size：1排他オブジェクト当たりのサイズ［バイト］

UNIXの場合

64ビット版XML Extensionの場合：48バイト

64ビット版以外のXML Extensionの場合：32バイト

Windowsの場合

32バイト固定

(f)　共用メモリ

登録・検索同時実行を実行する場合，BESまたはシングルサーバ単位に，次のサイズの共用メモリが必要です。

使用メモリ［キロバイト］= max ( ( rd_serve×8192×↓lock_size/8↓ ) /1024＋↑( 32+16×rd_serve ) /8192↑×8,16 )

rd_serve：1サーバ内のIXXML型用RDエリア数

lock_size：IXXMLインデクス型プラグインの環境設定項目「1RDエリア当たりの排他制御用共用メモリサイズ」の設定値［キロバイト］

(g)　検索時最大ワークメモリサイズ

検索高速化インデクス（V2）機能を使用する場合

検索高速化インデクス（V2）機能を使用する場合の，検索時最大ワークメモリサイズ（phj_mem_search）に指定するメモリ使用量の目安（最低限必要な値）を次に示します。

使用メモリ［キロバイト］ = (ターム数×2)※×64+( NOT検索指定数×登録データ件数/8)/1024

注※　(ターム数×2)の最大値は200です。

メモリ使用量は検索条件によって異なります。検索時最大ワークメモリサイズの指定値が大きいほど，検索性能が向上します。そのため，ここで示した値より大きな値を検索時最大ワークメモリサイズに指定することをお勧めします。

2.3.2　RDエリア容量

XML Extensionを使用する場合のRDエリア容量の見積もり方法について説明します。

見積もりの必要なRDエリア容量は，ユーザ用RDエリアと，ユーザLOB用RDエリア，データディクショナリ用RDエリア，レジストリ用RDエリアおよびレジストリLOB用RDエリアの容量です。

(1)　XMLデータ型プラグインおよびIXXMLインデクス型プラグインの場合

(a)　ユーザ用RDエリア容量

XML型列を定義した表を格納するユーザ用RDエリアで，XML型列の使用容量の見積もり式を次に示します。

XML型列容量［メガバイト］= ↑(docsize×2.5＋12) / rdpsize↑×rdpsize×doccnt×10⁻⁶

docsize：平均登録XMLデータのサイズ［バイト］

rdpsize：RDエリアのページサイズ［バイト］

doccnt：登録XMLデータ数

(b)　ユーザLOB用RDエリア容量

IXXML型情報を格納するユーザLOB用RDエリアの使用容量の見積もり式を次に示します。

IXXML型情報格納用RDエリア

次の表に示す値を設定して，IXXML型情報を格納するユーザLOB用RDエリアの容量を見積もってください。ユーザLOB用RDエリアの容量見積もり式は，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。分割遅延登録を使用する場合は，指定したインデクス分割遅延登録用領域サイズを加算したサイズとなります。

なお，一つのRDエリアの最大サイズは64GBです。64GBを超える場合は表分割してください。

また，検索高速化インデクス（V2）機能を使用しない場合，一つのインデクスに対する，RDエリアあたりのインデクスサイズの上限値は2,147,483,647バイトです。上限値に近づいた場合，メッセージログに02008-I，または01007-Wメッセージが出力されます。

表2‒2　 IXXML型情報を格納するユーザLOB用RDエリアの容量

設定個所

変数

設定値

LOB列の行の総数

b

128

各BLOBデータのデータ長

Cj

次の説明を参照してください

C1のサイズ

C₁=2,629,632

C2のサイズ

C₂=2,629,632

C3のサイズ

C₃= max ( (↑(24×doccnt) / 8192↑＋↑(4×doccnt) / (512×8192)↑＋↑(4×doccnt) / (1024×8192)↑)×8192＋8192 , 128000＋8192 )

C4のサイズ

C₄= 3750×8192＋8192

C5のサイズ

通常インデクスの場合の場合

C₅ = max (↑(doccnt×docsize×3) / 8192↑×8192＋8192 , 200×1024×1024)

インデクス作成ルールにINDEX_ALLを使用した場合

C₅ = max (↑(doccnt×docsize×5) / 8192↑×8192＋8192 , 200×1024×1024)

検索高速化インデクス（V2）機能（INDEX_V2）を使用した場合

通常インデクスの場合

C₅ = max（↑（doccnt×docsize×4）/8192↑×8192＋8192，250×1024×1024）

インデクス作成ルール追加機能（INDEX_ALL）を使用した場合

C₅ = max（↑（doccnt×docsize×9）/8192↑×8192＋8192，250×1024×1024）

インデクス作成ルール追加機能（INDEX_MEDIUM）を使用した場合

C₅ = max（↑（doccnt×docsize×7）/8192↑×8192＋8192，250×1024×1024）

英文検索用インデクス（ENGLISH）を使用した場合

C₅ = max（↑（doccnt×docsize×5）/8192↑×8192＋8192，250×1024×1024）

英文検索用インデクス（ENGLISH_STANDARD）を使用した場合

C₅ = max（↑（doccnt×docsize×8）/8192↑×8192＋8192，250×1024×1024）

C6のサイズ

C₆ = 160×8192＋8192

C7のサイズ

C₇ = 160×8192＋8192

C8のサイズ

CREATEMODE=0の即時登録用インデクスまたはCREATEMODE=1の初期分割登録用インデクスの場合

C₈=0

CREATEMODE=2の分割遅延登録用インデクスの場合（DELAY_SIZE設定値のインデクス分割遅延登録用領域サイズ）

C₈ = max ( (↑(24×delaydoccnt) / 8192↑＋↑(4×delaydoccnt) / (512×8192)↑＋↑(4×delaydoccnt) / (1024×8192)↑)×8192＋8192 , 128000＋8192 )×2＋1024×1024

CREATEMODE=3の分割遅延登録・更新系SQL同時実行用インデクスの場合（DELAY_SIZE設定値の遅延登録時に情報を退避する領域サイズ）

C₈ = 16×delaydoccnt＋12×8192

C9のサイズ

文字コード種別がutf-8でない場合

C₉=0

文字コード種別がutf-8の場合（初期作成）

C₉=50×1024×1024

文字コード種別がutf-8の場合

次のサイズをAvailable Work Area Size（使用可能ワーク領域サイズ）※1に確保してください。

C₉=200×1024×1024 + doccnt×1XMLデータ中のUCS4文字数※2×7

検索高速化インデクス（V2）機能（INDEX_V2）を使用した場合

UCS4インデクスの場合

次のサイズをAvailable Work Area Size（使用可能ワーク領域サイズ）※1に確保してください。

C₉ = 350×1024×1024 + doccnt×1XMLデータ中のUCS4文字数※2×7

注※1

インデクス情報の取得ユティリティを使って取得したインデクス情報に表示されます。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。HiRDBのpdmodコマンドによるRDエリアの拡張を行うと拡張されます。なお，pdmodコマンドについては，マニュアル「HiRDB コマンドリファレンス」を参照してください。

注※2

UCS4で表現できる文字の中で，UCS2を超える範囲（0x00010000〜0x7fffffff）です。

C10のサイズ

CREATEMODE=3の分割遅延登録・更新系SQL同時実行用インデクスのWITH_TABLE_SCAN指定のない場合

C₁₀=0

CREATEMODE=3の分割遅延登録・更新系SQL同時実行用インデクスのWITH_TABLE_SCAN指定のある場合（WITH_TABLE_SCAN設定値のスキャンデータ格納用領域サイズ）

C₁₀ =↑(delaydocsize×2.5＋12) / 8192↑×delaydoccnt

C11〜C128のサイズ

2×8192

doccnt：登録XMLデータ数

docsize：平均登録XMLデータ長［バイト］

delaydoccnt：遅延登録XMLデータ数

delaydocsize：平均遅延登録XMLデータ長［バイト］

(c)　データディクショナリのRDエリア容量

XML Extensionで，XML型やIXXML型を定義した表を格納するデータディクショナリ用RDエリアの容量は，次の表に示す値で見積もってください。データディクショナリ用RDエリア容量の見積もり式は，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

表2‒3　表の格納ページ数の設定項目と設定値

設定項目

設定値

ユーザ定義型の名称長の平均値

8［バイト］

プラグインオプション指定長の平均値

IXXMLインデクス作成時に指定したプラグインオプション名称長［バイト］

平均データ型名称の長さの平均値

8［バイト］

ユーザ定義型の総数

1［個］

1データ型当たりの属性数の平均値

1［個］

データ型識別子の長さの平均値

8［バイト］

ユーザ定義型で定義された属性数

1［個］

プラグインの総数

2［個］

プラグイン名称の長さの平均値

8［バイト］

抽象データ型／インデクス型名称の長さの平均値

8［バイト］

インデクス型の総数

1［個］

インデクス型識別子の長さの平均値

4［バイト］

抽象データ型名称の長さの平均値

8［バイト］

プラグインインデクスの総数

1［個］

インデクス型識別子の長さの平均値

4［バイト］

抽象データ型名称の長さの平均値

8［バイト］

抽象データ型で定義された属性の総数

1［個］

プラグインインデクス適用関数名称の長さの平均値

10［バイト］

1プラグインインデクス当たりの適用関数の数

30［個］

LOB列を定義した表の総数

ユーザLOB列に加えてXML型列を定義した表の数

1プラグイン当たりのパラメタ名称の長さの平均値

30［バイト］

プラグインライブラリパス名称の長さの平均値

255［バイト］

プラグインの注釈の長さの平均値

255［バイト］

1インデクス型当たりの適用関数の数

30［個］

サブタイプとして定義された抽象データ型の総数

0［個］

抽象データ型の総数

XMLは1［個］として加算

表2‒4　インデクスの格納ページ数の設定項目と設定値

設定項目

設定値

作成するユーザ定義データ型の数

1［個］

ユーザ定義データ型名称の長さの平均値

8［バイト］

1ユーザ定義データ型当たりの属性数の平均値

1［個］

ユーザ定義データ型属性名称の長さの平均値

30［バイト］

プラグイン名称の長さの平均値

8［バイト］

作成するプラグイン数

2［個］

インデクス型名称の長さの平均値

8［バイト］

プラグイン関数の数の平均値

30［個］

複数ある場合は各プラグインの適用関数の数との平均

プラグイン関数名称の長さの平均値

20［バイト］

1プラグイン関数当たりのパラメタ数の平均値

6［個］

1プラグイン関数当たりのパラメタ名称の長さの平均値

8［バイト］

2.3.3　ファイル容量

XML Extensionのファイル容量の見積もり方法について説明します。見積もりの必要なファイル容量は，次に説明するログの容量です。

(1)　XMLデータ型プラグインおよびIXXMLインデクス型プラグインの場合

(a)　同義語辞書ファイル

同義語辞書ファイルの容量は，次に示す式で計算します。

同義語辞書容量［バイト］ = （wordnum×（20＋wordlen）＋1000）×dicnum

wordnum：登録語数

wordlen：平均語長［バイト］

dicnum：登録辞書数

同義語辞書ファイルの格納場所については，表B-1および表B-2を参照してください。

(b)　ログ量

ログ量は，既登録XMLデータ量や登録するXMLデータを構成する文字列に依存します。ここでは平均値で記載します。

XML型列の追加

jnl［キロバイト］＝ 32

PURGE TABLE

jnl［キロバイト］＝ 48

これ以降のINSERT時，DELETE時，UPDATE時，一括更新時およびインクリメンタル処理のログ取得には，ログ取得モード，更新前ログ取得モードおよびログレスモードが指定できます。ただし，ログ取得モードでは，更新前ログ取得モードの約2倍のログ量が必要になります。ここでは更新前ログ取得モードで記載します。

INSERT時（WITH_TABLE_SCAN指定しない場合）

jnl［キロバイト］=↑(docsize×3×10⁻³)/4＋1↑×4＋↑(60※×docsize×10⁻³)/4↑×4

docsize：平均登録XMLデータサイズ［バイト］

注※

検索高速化インデクス（V2）機能使用時は，80で計算してください。ただし，英文検索用インデクスを同時に使用する場合は，100で計算してください。

INSERT時（WITH_TABLE_SCAN指定した場合）

jnl［キロバイト］=↑(docsize×6×10⁻³)/4＋1↑×4＋↑(60※×docsize×10⁻³)/4↑×4

docsize：平均登録XMLデータサイズ［バイト］

注※

検索高速化インデクス（V2）機能使用時は，80で計算してください。ただし，英文検索用インデクスを同時に使用する場合は，100で計算してください。

DELETE時

無効文書を含む登録文書の件数が348,160件以下の場合

jnl［キロバイト］= 40

無効文書を含む登録文書の件数が348,161件以上の場合

jnl［キロバイト］= 40 + (↑(doccnt-348160)/174080↑×8）

doccnt：無効文書を含む登録文書の件数

バージョン09-05-01以降の場合

jnl［キロバイト］= 32

UPDATE時

jnl［キロバイト］＝ INSERTで必要分＋DELETEで必要分

一括更新時（pdload，pdrorg，CREATE INDEX，phjstartidx）（WITH_TABLE_SCAN指定しない場合）

jnl［キロバイト］=↑(docsize×3×10⁻³)/4＋1↑×4×doccnt＋↑(30※×docsize×10⁻³×doccnt)/4↑×4

docsize：平均登録XMLデータサイズ［バイト］

doccnt：登録XMLデータ数

注※

検索高速化インデクス（V2）機能使用時は，40で計算してください。ただし，英文検索用インデクスを同時に使用する場合は，50で計算してください。

一括更新時（pdload，pdrorg，CREATE INDEX，phjstartidx）（WITH_TABLE_SCAN指定した場合）

jnl［キロバイト］=↑(docsize×6×10⁻³)/4＋1↑×4×doccnt＋↑(30※×docsize×10⁻³×doccnt)/4↑×4

docsize：平均登録XMLデータサイズ［バイト］

doccnt：登録XMLデータ数

注※

検索高速化インデクス（V2）機能使用時は，40で計算してください。ただし，英文検索用インデクスを同時に使用する場合は，50で計算してください。

インデクス詰め替え処理

jnl［キロバイト］= インデクスデータ量

2.3.4　論理ファイル数

次に示すXML Extensionが使用する論理ファイル数の値は，HiRDBの排他資源数の見積もりで使用します。排他資源数の見積もり方法についてはマニュアル「HiRDB システム定義」を参照してください。

表2‒5　論理ファイル数とファイル作成場所

プラグイン

論理ファイル数

ファイル作成場所

XMLデータ型プラグイン

0［個］

なし

IXXMLインデクス型プラグイン

128

IXXML型情報格納用のユーザLOB用RDエリア

2.4　XML Extensionの環境設定

この節では，XML Extensionのセットアップ・登録，レジストリ機能の初期設定，およびシステム共通定義の変更など，XML Extensionの環境設定について説明します。セットアップはUNIXの場合にだけ必要です。Windowsの場合は，インストール時にセットアップが実行されますので，「2.4.2　XML Extensionの登録」から参照してください。

なお，XML Extensionの環境設定では，HiRDBが提供しているユティリティおよび運用コマンドを使用する場合があります。これらのユティリティおよび運用コマンドの使用方法については，マニュアル「HiRDB コマンドリファレンス」および「HiRDB システム導入・設計ガイド」を参照してください。なお，ご使用のOSがAIXの場合は，マニュアル「HiRDB システム導入・設計ガイド」を参照して，AIXに固有の指定を設定してください。

2.4.1　XML Extensionのセットアップ（UNIXの場合）

セットアップとは，プラグイン実装ファイルをHiRDB運用ディレクトリにコピーすることを指します。

HiRDBがパラレルサーバの場合，すべてのサーバマシンにセットアップが必要です。

XMLデータのXMLデータ検索機能を使う場合，XMLデータ検索プラグイン（XMLデータ型プラグインおよびIXXMLインデクス型プラグイン）に対してセットアップが必要です。

(1)　XML Extensionのバージョンアップ

XML Extensionのバージョンアップには，HiRDBの運用コマンド「pdplgset（プラグインのセットアップ）」を使用します。バージョンアップの手順については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

なお，プラグインのアンセットアップ（pdplgset -d）を行う前にプラグインの固有ファイルを退避させる必要があります。詳細は「6.3.2(2)　運用環境のバックアップ」を参照してください。

(2)　XML Extensionのセットアップ

XML Extensionのセットアップには，HiRDBの運用コマンド「pdplgset（プラグインのセットアップ）」を使用します。次の形式で実行してください。

コマンドの形式

pdplgset  プラグイン名  プラグインインストールディレクトリ

引数

プラグイン名

セットアップするプラグインの名称を指定します。各プラグインに指定するプラグイン名を次の表に示します。

表2‒6　 XMLデータ検索プラグインに指定するプラグイン名（XML Extensionのセットアップ）

XMLデータ検索プラグイン

プラグイン名

XMLデータ型プラグイン

_phdxml

IXXMLインデクス型プラグイン

_phjxml

プラグインインストールディレクトリ

サーバマシンにインストールされた，プラグインがあるディレクトリを指定します。XML Extensionでは，OSに対応してプラグインインストールディレクトリを/opt/TSPluginに指定してください。

コマンド実行例

pdplgset  _phdxml  /opt/TSPlugin
pdplgset  _phjxml  /opt/TSPlugin

2.4.2　XML Extensionの登録

XML Extensionの登録とは，プラグインに関する定義情報をディクショナリへ登録すること，抽象データ型定義またはインデクス型定義を実行することを指します。XML Extensionで提供するXMLデータのXMLデータ検索機能を使う場合，XMLデータ検索プラグインに対して登録が必要です。

なお，XMLデータ検索プラグインを使用する場合，XMLデータ型プラグイン，およびIXXMLインデクス型プラグインの両方に対して，登録を実行してください。また，HiRDBがパラレルサーバの場合，登録およびバージョンアップは任意のサーバで実行してください。

(1)　XML Extensionのバージョンアップ

XML Extensionのバージョンアップには，HiRDBの運用コマンド「pdplgrgst（プラグインの登録・削除）」を使用します。バージョンアップの手順については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

注意

バージョンアップ作業時には，以下の情報をバックアップしてから作業してください。

同義語辞書

インデクス定義ファイル

環境定義ファイル

詳細は，「6.3.2 バックアップの取得方法」を参照してください。

UNIX使用時で，バージョンアップ時に新たにプラグインを追加して使用する場合は，追加するプラグインをセットアップから実行してください。

(2)　XML Extensionの登録

XML Extensionの登録には，HiRDBの運用コマンド「pdplgrgst（プラグインの登録・削除）」を使用します。登録の手順については，マニュアル「HiRDB システム導入・設計ガイド」を参照してください。

XML Extensionの登録の場合は，次の形式で実行してください。なお，XMLデータ検索プラグインを使用する場合は，XMLデータ型プラグイン，IXXMLインデクス型プラグインの順に登録してください。

コマンドの形式

pdplgrgst  プラグイン定義ファイル名  PICファイル名

引数

プラグイン定義ファイル名

プラグイン定義ファイルのファイル名を指定します。コマンドを入力するときのカレントディレクトリにあるファイル名または絶対パスを含めたファイル名を指定します。各プラグインに指定するプラグイン定義ファイル名を次の表に示します。

表2‒7　XMLデータ検索プラグインに指定するプラグイン定義ファイル名（XML Extensionの登録）

XMLデータ検索プラグイン

プラグイン定義ファイル名

XMLデータ型プラグイン

_phdxml.adt

IXXMLインデクス型プラグイン

_phjxml.idx

PICファイル名

PICファイルのファイル名を指定します。コマンドを入力するときのカレントディレクトリにあるファイル名または絶対パスを含めたファイル名を指定します。各プラグインに指定するPICファイル名を次の表に示します。

表2‒8　XMLデータ検索プラグインに指定するPICファイル名（XML Extensionの登録）

XMLデータ検索プラグイン

PICファイル名

XMLデータ型プラグイン

_phdxml.pic

IXXMLインデクス型プラグイン

_phjxml.pic

コマンド実行例（UNIXの場合）

pdplgrgst  $PDDIR/plugin/_phdxml/etc/_phdxml.adt ¥
             $PDDIR/plugin/_phdxml/etc/_phdxml.pic
pdplgrgst  $PDDIR/plugin/_phjxml/etc/_phjxml.idx ¥
             $PDDIR/plugin/_phjxml/etc/_phjxml.pic

上記は，2行でコマンドを入力した例を記載していますが，1行で入力する場合は，「¥」（エスケープ文字）を入力しないでください。

コマンド実行例（Windowsの場合）

pdplgrgst  %PDDIR%¥plugin¥_phdxml¥etc¥_phdxml.adt
             %PDDIR%¥plugin¥_phdxml¥etc¥_phdxml.pic
pdplgrgst  %PDDIR%¥plugin¥_phjxml¥etc¥_phjxml.idx
             %PDDIR%¥plugin¥_phjxml¥etc¥_phjxml.pic

「PDDIR」は，HiRDBインストール先フォルダパスが格納された環境変数を示します。環境変数PDDIRは「%」で囲んで「%PDDIR%」と入力してください。

上記の例では，コマンドの引数を改行して記述していますが，実際は改行しないで入力してください。

2.4.3　システム共通定義の変更

登録したXML Extensionを使用できる状態にするため，一度，HiRDBの運用コマンド「pdstop（HiRDBシステム・ユニット・サーバの終了）」でHiRDBを正常終了させたあと，すべてのサーバマシン上のシステム共通定義「pdsys」に，使用するプラグインを宣言するオペランド「pdplugin」を追加します。

システム共通定義「pdsys」の詳細については，マニュアル「HiRDB システム定義」を参照してください。

システム共通定義のオペランド「pdplugin」は，次の形式で指定してください。

オペランドの指定形式

pdplugin  -n  プラグイン名

引数

-n プラグイン名

使用するプラグインの名称を指定します。各プラグインに指定するプラグイン名を次の表に示します。

表2‒9　XMLデータ検索プラグインに指定するプラグイン名（システム共通定義の変更）

XMLデータ検索プラグイン

プラグイン名

XMLデータ型プラグイン

_phdxml

IXXMLインデクス型プラグイン

_phjxml

オペランド指定例

pdplugin  -n  _phdxml
pdplugin  -n  _phjxml

プラグインを削除する場合には，HiRDBのシステム共通定義「pdsys」に追加した，使用するプラグインを宣言する「pdplugin」オペランドを削除します。このとき，このオペランドを追加しているすべてのサーバマシン上のシステム共通定義から削除してください。

2.5　XMLデータ検索プラグインのデータベースの作成

この節では，XMLデータ検索プラグインのデータベースの作成について説明します。

なお，XML Extensionで必要となるデータベースを作成するには，HiRDBが提供しているユティリティおよび運用コマンドを使用する場合があります。これらのユティリティおよび運用コマンドの使用方法については，マニュアル「HiRDB コマンドリファレンス」を参照してください。また，XML Extensionのユティリティの使用方法については，「3.　XML Extensionのユティリティ」を参照してください。

2.5.1　XMLデータ検索プラグインのデータベース作成の流れ

XML Extensionの導入後，表作成からデータベースへの登録までの操作方法の流れを次の図に示します。

図2‒2　データベース作成の流れ（XMLデータ検索プラグイン）

以降，上記の流れに従ってデータベースの作成方法について説明します。

2.5.2　データ格納領域の確保

XML型を含む表データの格納領域，XMLデータ本体格納領域，およびIXXML型情報格納領域を確保します。データ格納領域の確保には，HiRDBの「pdinit（データベース初期設定ユティリティ）」または「pdmod（データベース構成変更ユティリティ）」のcreate rdarea文を使用します。「pdinit（データベース初期設定ユティリティ）」と「pdmod（データベース構成変更ユティリティ）」については，マニュアル「HiRDB コマンドリファレンス」を参照してください。XML Extensionでは，次の2種類の領域を確保する必要があります。

XML型を含む表の基本データ，およびXMLデータ本体格納領域

IXXML型情報格納領域

XML型を含む表の基本データ，およびXMLデータ本体格納領域にはユーザ用RDエリアを，IXXML型情報格納領域にはユーザLOB用RDエリアを確保してください。

create rdarea文の指定例を図2-3および図2-4に示します。

図2‒3　create rdarea文の指定例（UNIXの場合）

図2‒4　create rdarea文の指定例（Windowsの場合）

2.5.3　表の作成

表の作成には，定義系SQLのCREATE TABLEを使用します。CREATE TABLEでは，XMLデータを登録する列に対する列定義のデータ型として，「XML」と指定してください。

CREATE TABLEの指定例を次の図に示します。

図2‒5　CREATE TABLEの指定例

2.5.4　インデクスの定義

XMLデータ検索プラグインでのインデクスの作成には，通常のインデクス定義，およびインデクスファイルの自動拡張を行うインデクス定義があります。また，XMLデータの登録または更新時のインデクス作成方法を指定することもできます。

注意事項

大量のXMLデータが登録されている表に対し，CREATE INDEXでIXXML型を作成する場合，タイムアウトが発生する場合があります。これを避けるために，大量のXMLデータのインデクスを作成するCREATE INDEXを実行するときは，次に示す設定をしてタイムアウトを無制限にしてから実行してください。

HiRDBのシステム共通定義

pd_watch_time=0

クライアント環境変数

PDCWAITTIME=0

また，この場合はログを取得しない運用をお勧めします。ログを取得しない運用については，「6.3.1(3)　ログレスモード」を参照してください。

以降，各定義方法について説明します。

(1)　通常のインデクス定義

XMLデータ検索用のインデクス作成情報を定義するには，定義系SQLのCREATE INDEXを使用します。この定義をすることで，XMLデータ検索機能が使用できるようになります。

CREATE INDEXのインデクス型識別子にはIXXMLと指定してください。また，RDエリア名には，「2.5.2　データ格納領域の確保」でIXXML型情報の格納領域として確保したRDエリアを指定してください。IXXMLインデクス型プラグインで使用するインデクスのRDエリアは，ログ取得モードとなります。CREATE INDEXの詳細については，マニュアル「HiRDB SQLリファレンス」を参照してください。

インデクスの定義例を次に示します。

XMLデータ検索機能を使用する場合

XMLデータ検索機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒6　XMLデータ検索機能使用時のインデクス定義例

(2)　インデクスファイル自動拡張機能のインデクス定義

インデクスファイル自動拡張機能を利用すると，インデクスファイル作成時の空き容量を，各論理ファイルの拡張領域として使用できるようになります。これによってRDエリアを有効利用できます。なお，HiRDBが文字コードutf-8でセットアップされた場合，インデクスファイル自動拡張機能は自動的に有効になります。

この機能を使用する場合は，プラグインオプションに次の定義が必要です。

PLUGIN 'FLEX_AREA'

この機能を使用するとインデクスが自動的に拡張するため，インデクスの拡張ユティリティを実行する必要はありません。この機能を利用した場合にインデクスの拡張ユティリティを実行したときは，無視されます。

インデクスファイル自動拡張機能を使用する場合の，インデクス定義例を次の図に示します。

図2‒7　インデクスファイル自動拡張機能使用時のインデクス定義例（XMLデータ検索用インデクスの場合）

(3)　インデクス作成ルール追加機能のインデクス定義

インデクス作成ルール追加機能とは，標準で作成するインデクス情報に，カタカナ，漢字，数字，英字など，すべての文字の種類（文字種）の組み合わせを追加する機能です。この機能を使用することで，検索タームがさまざまな文字種の組み合わせで構成される場合の検索性能が向上します。

(a)　インデクス作成ルール追加機能の定義方法

インデクス作成ルール追加機能を使用する場合には，CREATE INDEXのプラグインオプションに対して次の表に示す内容を定義してください。

表2‒10　CREATE INDEXのプラグインオプションに対する定義内容

定義内容※

説明

INDEX_ALL

すべての文字種の組み合わせを追加します。

INDEX_MEDIUM

カタカナ，数字，および記号の一部の文字種の組み合わせを追加します。専門分野で使用する用語や技術系の用語が頻出する場合に，使用することをお勧めします。

注※

半角の英字で記述します。

インデクス作成ルール追加機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒8　インデクス作成ルール追加機能使用時（INDEX_MEDIUM）のインデクス定義例

(4)　インデクス作成方法指定

表のXML型列にXMLデータを登録している状態でCREATE INDEXを実行する場合，次のどちらかの方法を指定できます。運用形態に合わせて指定してください。

CREATE INDEX実行時にインデクス作成とインデクスへのXMLデータ登録を実行する方法（即時登録）

CREATE INDEX実行時にはインデクスに反映しないでXMLデータやデータの登録だけを実行し，インデクス作成開始ユティリティを使用してインデクスへのXMLデータ登録を実行する方法（初期分割登録，または分割遅延登録）

インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

(a)　インデクス作成方法指定の定義方法

インデクス作成方法指定を使用する場合，CREATE INDEXのプラグインオプションに即時登録，初期分割登録，または分割遅延登録の定義を追加します。インデクス作成方法指定の定義を省略した場合，即時登録が適用されます。

即時登録

表に登録されているXMLデータについて，CREATE INDEX実行時にインデクス作成とインデクスへのXMLデータ登録を実行します。

即時登録を使用する場合，CREATE INDEXのプラグインオプションに次の定義を追加，または省略します。

PLUGIN 'CREATEMODE=0'

初期分割登録

表に登録されているXMLデータについて，CREATE INDEX実行時にはインデクスへは反映しません。インデクス作成開始ユティリティを使用してインデクスへのXMLデータ登録を実行します。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

初期分割登録を使用する場合，CREATE INDEXのプラグインオプションに次の定義を追加します。

PLUGIN 'CREATEMODE=1'

初期分割登録使用時のインデクスの定義例を次の図に示します。

図2‒9　初期分割登録使用時のインデクス定義例（XMLデータ検索用のインデクスの場合）

分割遅延登録

表に登録されているXMLデータについて，CREATE INDEX実行時にはインデクスへ反映しません。インデクス作成開始ユティリティを実行してインデクスへのXMLデータ登録を実行します。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

分割遅延登録を使用する場合，インデクス分割遅延登録用の領域が必要となります。分割遅延登録を使用する場合，CREATE INDEXのプラグインオプションに次の定義を追加します。

PLUGIN 'CREATEMODE=2,DELAY_SIZE=インデクス分割遅延登録用領域サイズ（キロバイト）'

インデクス分割遅延登録用領域サイズの見積もりについては，「2.3.2(1)(b)　ユーザLOB用RDエリア容量」を参照してください。また，分割遅延登録を設定していないインデクスに対しては，インデクス情報変更ユティリティを使用することで分割遅延登録を設定したインデクスに移行できます。インデクス情報変更ユティリティの詳細については，「3.2.10　phjmodidx（インデクス情報変更ユティリティ）」を参照してください。指定できる最大値・最小値は次のとおりです。

最大値：129,584キロバイト

最小値：2,608キロバイト

分割遅延登録使用時のインデクスの定義例を次の図に示します。

図2‒10　分割遅延登録使用時のインデクス定義例（XMLデータ検索用のインデクスの場合）

分割遅延登録への移行時に実行する，インデクス情報変更ユティリティの指定例を次の図に示します。

図2‒11　分割遅延登録への移行時に実行する，インデクス情報変更ユティリティの指定例

分割遅延登録・更新系SQL同時実行

遅延登録実行時に，同時にインデクス作成開始ユティリティを実行してインデクスへXMLデータを登録します。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。分割遅延登録・更新系SQL同時実行を利用する場合，遅延登録時に情報を退避しておく領域が必要です。CREATE INDEXのプラグインオプションに次の定義を追加します。

PLUGIN 'CREATEMODE=3,DELAY_SIZE=遅延登録時に情報を退避する領域サイズ（キロバイト）'

遅延登録時に情報を退避する領域サイズの見積もりについては，「2.3.2(1)(b)　ユーザLOB用RDエリア容量」を参照してください。

この退避領域に指定できる最大値・最小値は次のとおりです。

最大値：129,584キロバイト

最小値：12,832キロバイト

分割遅延登録・更新系SQL同時実行のインデクスの定義例を次の図に示します。

図2‒12　分割遅延登録・更新系SQL同時実行使用時のインデクス定義例

分割遅延登録・更新系SQL同時実行する際に，インデクスに反映されていない文書をスキャンで検索する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'CREATEMODE=3,DELAY_SIZE=遅延登録時に情報を退避するサイズ,WITH_TABLE_SCAN=スキャンデータ格納用領域サイズ（キロバイト）';

スキャンデータ格納用領域サイズの見積もりについては，「2.3.2(1)(b)　ユーザLOB用RDエリア容量」を参照してください。

スキャンデータ格納用領域サイズに指定できる最大値，および最小値は次のとおりです。

最大値：2,097,144キロバイト

最小値：max（44,000キロバイト，DELAY_SIZE指定容量×3＋5,120キロバイト）

なお，スキャンで検索できるのはXQueryで次の述語を使用する場合だけです。

文字列（xs:string型）同士の完全一致（＝）

fn:contains関数

fn:starts-with関数

fn:ends-with関数

インデクスに反映されていない文書をスキャンで検索する場合のインデクス定義例を次の図に示します。

図2‒13　インデクス未反映文書をスキャンで検索する場合のインデクス定義例

(b)　初期分割登録・分割遅延登録使用時の注意

CREATE INDEX実行後，インデクスへ登録されていないXMLデータのインデクスは，インデクス作成開始ユティリティを使用して登録してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。インデクスへ登録されていないXMLデータが存在するかどうかは，インデクス情報の取得ユティリティを使用して，「Number of Documents for Unfinished-Index」の項目を確認してください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

インデクス検索を使用する場合，インデクスへ登録されていないXMLデータは，検索対象になりません。

インデクスへ登録されていないXMLデータが存在する場合，登録または更新したXMLデータはインデクスへ登録されません。インデクスへ登録する場合は，インデクス作成開始ユティリティを使用してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

インデクスが作成されていないXMLデータが存在する場合，検索を実行しても，インデクスが作成されていない旨のメッセージは出力されません。

初期分割登録の場合，CREATE INDEX実行後，インデクス作成開始ユティリティを実行して，すべてのXMLデータがインデクスへ登録された時点で，インデクス作成方法が初期分割登録から即時登録に切り替わります。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。以降，XMLデータの登録または更新と同時にインデクスへの登録が行われるようになるため，XMLデータ登録または更新時にインデクスへ登録する時間が掛かるようになります。

移行したインデクスに対してインデクス情報変更ユティリティを使用して初期化をした場合，変更した情報は無効になります。インデクス情報変更ユティリティの詳細については，「3.2.10　phjmodidx（インデクス情報変更ユティリティ）」を参照してください。

インデクス分割遅延登録用領域を使い切った場合は，遅延しているすべてのXMLデータをインデクスに反映するか，またはインデクス情報変更ユティリティを使用してインデクス分割遅延登録用領域を拡張してください。インデクス情報変更ユティリティの詳細については，「3.2.10　phjmodidx（インデクス情報変更ユティリティ）」を参照してください。

分割遅延登録・更新系SQL同時実行をしない運用へ移行する場合，インデクスを削除してください。そのあと，運用に合わせてインデクスを再定義してください。

WITH_TABLE_SCAN指定を行う運用の場合，グローバルバッファを指定するとスキャン対象データがグローバルバッファに保持されます。このため高速な検索が実現できます。バッファサイズはWITH_TABLE_SCANで指定した値以上のサイズを指定する必要があります。

WITH_TABLE_SCAN指定をした場合，指定された領域内にESIS-B形式データを格納します。phjstartidxでインデクス作成を実行すると，格納したESIS-B形式データは削除されます。ただし，最後に実行したphjstartidxでインデクス作成したときのESIS-B形式データだけは，ロールバックに備えるため保持されます。

分割遅延登録・更新系SQL同時実行の場合，削除要求も即時反映しないため，UPDATEやDELETE後にINSERTを実行し，インデクスに反映する前に検索すると，古い情報でインデクス未反映XMLデータがヒットするときがあります。

(5)　大小文字・全角文字半角文字統一機能のインデクス定義

大文字と小文字，または全角文字と半角文字の違いを区別しないで検索を実行したい場合には，大小文字・全角文字半角文字統一機能を使用します。

(a)　大小文字・全角文字半角文字統一機能の定義方法

大小文字・全角文字半角文字統一機能を使用する場合には，CREATE INDEXのプラグインオプションに対して次の表に示す内容を定義します。

表2‒11　大小文字・全角文字半角文字統一機能の定義内容

定義内容※

説明

SAMECASE=ON

英大文字と英小文字を区別しないでインデクスを作成します。

SAMEWIDE=ON

全角文字と半角文字の英数字，カタカナ，記号を区別しないでインデクスを作成します。

注※

半角の英字で記述します。また，SAMECASEとSAMEWIDEは組み合わせて指定できます。

大小文字・全角文字半角文字統一機能使用時のインデクス定義例を図2-14，図2-15に示します。

図2‒14　大小文字統一機能使用時のインデクス定義例

図2‒15　全角文字半角文字統一機能使用時のインデクス定義例

(b)　大小文字・全角文字半角文字統一機能使用時の注意

全角文字半角文字統一機能を指定しないで，近傍条件検索やワイルドカードに「？」を指定した検索を実行した場合，半角文字のガ行，ザ行，ダ行，バ行，パ行，および「ヴ」を2文字として扱います。しかし，全角文字半角文字統一機能を指定した場合は1文字として扱うため注意が必要です。

必ず異表記展開する運用であれば，インデクスの文字統一機能を使用することを推奨します。

(6)　拗音統一機能のインデクス定義

検索時に「や」と「ゃ」，「よ」と「ょ」などの拗音を区別しないようにするには，拗音統一機能を使用します。

(a)　拗音統一機能の定義方法

拗音統一機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'SAMEY=ON'

拗音統一機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒16　拗音統一機能使用時のインデクス定義例

「SAMEY=ON」を指定すると，次の拗音が統一されます。

(7)　濁音統一機能のインデクス定義

検索時に「バ」と「ハ゛」，「ぱ」と「は゜」のように濁音や半濁音を区別しないようにするには，濁音統一機能を使用します。

(a)　濁音統一機能の定義方法

濁音統一機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'SAMED=ON'

濁音統一機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒17　濁音統一機能使用時のインデクス定義例

「SAMED=ON」を指定すると，濁音，半濁音が統一されます。

(b)　濁音統一機能使用時の注意

濁音文字統一機能を指定しないで，近傍条件検索やワイルドカードに「？」を指定した検索を実行した場合，半角文字の濁音で表示できる文字を2文字として扱います。しかし，濁音文字統一機能を指定した場合は1文字として扱うため注意が必要です。

(8)　削除文字指定機能のインデクス定義

検索に使用しない文字を除いて検索性能を向上させるには，削除文字指定機能を使用します。

(a)　削除文字指定機能の定義方法

削除文字指定機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義の追加が必要です。

PLUGIN 'DELcode=ON'

削除文字指定機能を使用する場合のインデクス定義例を次の図に示します。

図2‒18　削除文字指定機能使用時のインデクス定義例

「DELcode=ON」を指定すると，次の文字が削除されます。

全角および半角文字の「。」（句点），「、」（読点）

全角スペース，半角スペース（0x20）

改行コード（0x0a，0x0d），タブコード（0x09）

(b)　削除文字指定機能使用時の注意

近傍検索で指定された語句リストの間に削除文字が含まれる場合，距離の指定方法によってはヒットしないことがあります。

例えば，登録データが「COMPUTER△NETWORK」の場合，「COMPUTER」と「NETWORK」の間の距離は0となります。

削除文字を指定したインデクスに対して検索を実行する場合，登録データから削除文字が取り除かれていることに注意してください。

例えば，削除文字が半角スペースで，登録データが「tha[△・・・△]</終了タグ>」の場合（・・・は0個以上の繰り返しを示します），「tha?」で検索してもヒットしません。

検索タームおよびすべての異表記展開・同義語異表記展開結果が，削除文字だけで構成されている場合，0件ヒットとなります。

(9)　英文検索機能のインデクス定義

英文に対して検索する場合は，単語単位で検索する英文インデクス定義をしてください。

英文インデクスの定義は次の方法があります。運用に応じてご使用ください。

単語一致（ENGLISH）

単語一致，前方一致（ENGLISH_STANDARD）

図2‒19　英文検索機能を使用する場合のインデクス定義例（英文検索）

注意事項

英文インデクス定義は，次のインデクス定義と併用することはできません。

全角文字半角文字統一機能（SAMEWIDE=ON）

拗音統一検索（SAMEY=ON）

インデクス作成ルール追加機能（INDEX_ALL）

インデクス作成ルール追加機能（INDEX_MEDIUM）

(a)　英文検索のインデクスに指定できる項目

英文検索機能で使用するインデクスの定義ファイルについて説明します。

インデクスデリミタファイル

機能

英文検索機能で使用するインデクスを作成する場合に必要な単語の区切り（デリミタ）を定義します。定義したインデクスデリミタに従って単語を抽出し，英文検索機能で使用するインデクスを作成します。抽出した単語が64文字（バイト）を超える場合は，65文字（バイト）目以降を無視して，64文字（バイト）目までの文字でインデクスを作成します。なお，インデクスデリミタは検索対象にできません。

指定形式

CREATE INDEXのプラグインオプションにインデクスデリミタファイルのファイル名を指定します。

INDEXdlmt=ファイル名

インデクスデリミタファイルは，CREATE INDEXを実行する前に，XML Extensionをセットアップしたすべてのサーバマシンに対して，同一の内容で次に示すディレクトリに事前に作成しておく必要があります。

$PDDIR/plugin/_phjxml/idx_def

また，サンプルファイル（$PDDIR/plugin/_phjxml/sample/pdplgdlmt）を提供しています。

記述形式

"インデクスデリミタ"［,"インデクスデリミタ"］・・・・・・

インデクスデリミタは，「"」（半角ダブルクォーテーション）で囲んで指定します。

インデクスデリミタに使用できる文字は，「0x21」〜「0x7E」の範囲の1バイト文字コードです。

「0x20」（半角スペース），「0x09」（タブ）は，無条件にインデクスデリミタとなります。

複数指定する場合は，「"」で囲んだインデクスデリミタを「,」（半角コンマ）で区切って指定します。

「"」をインデクスデリミタにする場合は「""」と二つ続けて定義し，それを「"」で囲んで指定します。

注意事項

インデクスデリミタファイルは省略できます。

省略した場合は，「0x20」（半角スペース），「0x09」（タブ），記号（「0x21」〜「0x2F」，「0x3A」〜「0x40」，「0x5B」〜「0x60」，「0x7B」〜「0x7E」）がインデクスデリミタとなります。

不要語，または削除コードに指定した文字コードをインデクスデリミタに指定しないでください。指定した場合は，インデクスデリミタ，削除コード，不要語，の優先順位で処理します。

不要語ファイル

機能

英文検索機能に使用するインデクスを作成する場合，検索に不要な単語を定義します。不要語については，検索用インデクスを作成しません。

指定形式

CREATE INDEXのプラグインオプションに不要語ファイルのファイル名を指定します。

NOindex=ファイル名

不要語ファイルは，CREATE INDEXを実行する前に，XML Extensionをセットアップしたすべてのサーバマシンに対して，同一の内容で次のディレクトリに事前に作成しておく必要があります。

$PDDIR/plugin/_phjxml/idx_def

記述形式

"不要語"［,"不要語"］・・・・・・

不要語は，「"」（半角ダブルクォーテーション）で囲んで指定します。

不要語に使用できる文字は，「0x21」〜「0x7E」の範囲1バイトの文字コードです。

複数指定する場合は，「"」で囲んだ不要語を「,」（半角コンマ）で区切って指定します。不要語は255個まで指定できます。

「"」を不要語にする場合は，「""」と二つ続けて定義し，それを「"」で囲んで指定します。

不要語は64文字（バイト）まで指定できます。64文字（バイト）を超えて指定した場合，65文字（バイト）目以降を無視して，64文字（バイト）目までの文字列を不要語とします。

注意事項

不要語ファイルは省略できます。省略した場合は，不要語なしでインデクスを作成します。

インデクスデリミタ，または削除コードに指定した文字コードを不要語に指定しないようにしてください。指定した場合は，インデクスデリミタ，削除コード，不要語の優先順位で処理します。

検索条件で指定した検索タームに不要語を含む場合は，不要語を任意の1単語とみなして検索します。なお，検索条件に不要語だけを指定した場合は，入力条件エラーとなります。

削除コードファイル

機能

英文検索機能で使用するインデクスを作成する場合に，削除するコードを定義します。定義した削除コードはないものとして単語を抽出し，英文検索機能で使用するインデクスを作成します。

単語に「-」（ハイフン）のような不要なコードがある場合，削除してその前後を詰めて扱い，必要なコードだけでインデクスを作成できます。

指定形式

CREATE INDEXのプラグインオプションに削除コードファイルのファイル名を指定します。

DELcode=ファイル名

削除コードファイルは，CREATE INDEXを実行する前に，XML Extensionをセットアップしたすべてのサーバマシンに対して，同じ内容で次のディレクトリに事前に作成しておく必要があります。

$PDDIR/plugin/_phjxml/idx_def

記述形式

"削除コード"［,"削除コード"］・・・・・・・

削除コードは，「"」（半角ダブルクォーテーション）で囲んで指定します。

削除コードに使用できる文字は，「0x21」〜「0x7E」の範囲の1バイト文字コードです。

複数指定する場合は，「"」で囲んだ削除コードを「,」（半角コンマ）で区切って指定します。

「"」を削除コードにする場合は，「""」と二つ続けて定義し，それを「"」で囲んで指定します。

注意事項

削除コードファイルは省略できます。省略した場合は，削除コードなしでインデクスを作成します。

インデクスデリミタ，または不要語に指定した文字コードを削除コードに指定しないようにしてください。指定した場合は，インデクスデリミタ，削除コード，不要語の優先順位で処理します。

(10)　統制ルール指定機能のインデクス定義

ユーザが指定した2〜3バイトの文字を統制するには，統制ルール指定機能を使用します。

指定形式

CREATE INDEXのプラグインオプションに，統制ルールファイル名を定義します。

PLUGIN　'SAMERULE=ファイル名'または

PLUGIN　'SAMERULE2=ファイル名'

SAMERULEに指定した場合は，ほかの文字統一機能よりも優先されます。SAMERULE2に指定した場合は，ほかの文字統一を実施したあとに，この機能で定義した統制を行います。また，統制ファイルは，CREATE INDEXを実行する前に，次のディレクトリに事前に作成しておく必要があります。

UNIXの場合

$PDDIR/plugin/_phjxml/idx_def

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥idx_def

記述形式

統制文字,統制される文字,・・・
統制文字,統制される文字,・・・

一つの統制グループを一行で記述してください。

2〜3バイト文字の1文字を半角コンマで区切って二つ以上指定し，統制文字を先頭に指定してください。

注意事項

ルールファイルに指定する文字の文字コードはHiRDBの文字コードに合わせてください。

ルールファイル名は最大256バイトです。

英文インデクスまたはHiRDBの文字コードがutf-8の場合，概念インデクスに対して指定するとエラーになります。

SAMERULEとSAMERULE2は同時に指定できません。

一行は4,093バイト以内（改行コード含む）で指定してください。

先頭文字が半角の”#”で始まる行はコメント行として扱います。

空行は無視します。

インデクス作成後は統制ルール情報を変更できません。インデクス作成後にルールファイルの内容を変更してもインデクスには反映されません。

統制文字と統制される文字を指定する場合，エラーになるケースを次に示します。

・改行，半角コンマ，および2〜3バイトの文字以外を指定した場合

・統制される文字に，重複して同じ文字を指定した場合

・統制文字に，統制される文字を指定した場合

同義語展開指定をする場合，新規に同義語辞書を作成するか，同義語辞書移行ユティリティを実行して，既存の同義語辞書を移行する必要があります。同義語辞書を作成する方法は，「3.2.1　phdsyndicreg（同義語辞書登録ユティリティ）」を参照してください。同義語辞書を移行する方法は，「3.2.12　phdsyndicconv（同義語辞書移行ユティリティ）」を参照してください。

extracts関数でハイライトタグを埋め込む場合，ハイライト位置条件式に指定する検索タームは文字統一の対象になりません。データを登録したときの文字で指定してください。

(11)　ひらがなカタカナ統一機能のインデクス定義

検索時にひらがなとカタカナを区別しないようにするためには，ひらがなカタカナ統一機能を使用します。

(a)　ひらがなカタカナ統一機能の定義方法

ひらがなカタカナ統一機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN　'SAMEK=ON'

ひらがなカタカナ統一機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒20　ひらがなカタカナ統一機能使用時のインデクス定義例

「SAMEK=ON」を指定すると，ひらがなとカタカナが統一されます。

(b)　ひらがなカタカナ統一機能使用時の注意

同義語展開指定をする場合，あらかじめバージョン09-02以降のXML Extensionで同義語辞書を作成するか，または同義語辞書移行ユティリティを実行して，既存の同義語辞書を移行する必要があります。

ひらがなの検索でもカタカナ異表記，カタカナ長音ハイフン展開，カタカナベーシック展開およびカタカナ拗音展開が有効となります。ただし，ひらがな拗音展開は無効となります。

(12)　検索高速化インデクス（V2）機能

検索を高速化するためには，検索高速化インデクス（V2）機能を使用します。

検索高速化インデクス（V2）機能を使用すると，通常のインデクスよりも検索時のインデクス参照量が少なくなります。次の隣接照合や論理演算を含む検索，および絞込み検索に対してこの機能を使うと効果的です。

出現頻度の低いタームを含む隣接照合

出現頻度の低いタームを含むANDの論理演算

出現頻度の高いタームを含むORの論理演算

ほかのインデクスの条件による絞り込み率が良い場合の絞込み検索（バージョン09-05以降）

なお，検索高速化インデクス（V2）機能を使う場合，通常のインデクスと比べてメモリ使用量，RDエリアの容量，ファイル容量，および適用される環境定義などが異なります。この機能を使用する前に，それぞれの設定を確認してください。

メモリ使用量については，「2.3.1(1)(g)　検索時最大ワークメモリサイズ」を参照してください。

RDエリアの容量については，「2.3.2(1)(b)　ユーザLOB用RDエリア容量」を参照してください。

ファイル容量については，「2.3.3(1)(b)　ログ量」を参照してください。

環境定義については，「2.6.2(2)　設定できる項目」を参照してください。

(a)　検索高速化インデクス（V2）機能の定義方法

検索高速化インデクス（V2）機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'INDEX_V2'

検索高速化インデクス（V2）機能を使用する場合の，インデクスの定義例を次の図に示します。

図2‒21　検索高速化インデクス（V2）機能使用時のインデクス定義例

検索高速化インデクス（V2）機能を使用した場合，指定できないプラグインオプション，およびデフォルトで適用されるプラグインオプションがあります。次の表に示します。

表2‒12　検索高速化インデクス（V2）機能使用時に指定できないプラグインオプション

定義文字列

定義の説明

検索高速化インデクス（V2）機能使用時の指定可否

FLEX_AREA

インデクスファイル自動拡張機能のインデクス定義

△※

ENGLISH

英文インデクスの定義（単語一致）

▲

ENGLISH_STANDARD

英文インデクスの定義（単語一致，前方一致）

▲

INDEXdlmt

英文インデクスのデリミタ指定

▲

NOindex

英文インデクスの不要語指定

▲

（凡例）

△：指定が無視されます。

▲：バージョン09-05以降は指定できます。09-05より前は指定するとエラーになります。

注※

デフォルト値として適用されます。

(b)　検索高速化インデクス（V2）機能使用時の注意

次のユティリティは使用できません。

phjincmt（インデクスのインクリメンタル）

phjexpnd（インデクスの拡張）

phjcond（インデクス詰め替え）

(13)　カタカナ異表記統一機能のインデクス定義

カタカナ異表記を区別しないようにするには，カタカナ異表記統一機能を使用します。カタカナ異表記統一機能を使用すると，特定のカタカナを区別しないでインデクスが作成できます。

カタカナ異表記統一機能で置き換えられる文字を次に示します。

表2‒13　カタカナ異表記統一機能で置き換えられる文字

置き換え前の文字

置き換え後の文字

ツィ

チ

ヴァ

バ

ヴィ

ビ

ヴェ

ベ

ヴォ

ボ

テュ

チュ

フュ

ヒュ

ヴュ

ビュ

ヴ

ブ

(a)　カタカナ異表記統一機能の定義方法

カタカナ異表記統一機能を使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'SAMEE=ON'

図2‒22　カタカナ異表記統一機能使用時のインデクス定義例

「SAMEE=ON」を指定すると，カタカナ異表記が統一されます。

(b)　カタカナ異表記統一機能使用時の注意

同義語展開指定をする場合，あらかじめバージョン09-04以降のXML Extensionで同義語辞書を作成するか，または同義語辞書移行ユティリティを実行して，既存の同義語辞書を移行する必要があります。

extracts関数でハイライトタグを埋め込む場合，ハイライト位置条件式に指定する検索タームは文字統一の対象になりません。データを登録したときの文字で指定してください。

(14)　IVS対応機能のインデクス定義

UnicodeのIVS（Ideographic Variation Sequence）に対応する場合，次のどちらかの方法を指定できます。運用形態に合わせて指定してください。

基底文字とVS（Variation Selector）の組み合わせが一致すればヒットする（VS識別モード）

基底文字が同じであればVSが異なってもヒットする（VS無効化モード）

(a)　IVS対応機能の定義方法

IVSに対応する場合，CREATE INDEXのプラグインオプションにVS識別モード，またはVS無効化モードの定義を追加します。

VS識別モード

VS識別モードを使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'IVSMODE=1'

VS識別モードを使用する場合の，インデクスの定義例を次の図に示します。

図2‒23　VS識別モード使用時のインデクス定義例

VS無効化モード

VS無効化モードを使用する場合は，CREATE INDEXのプラグインオプションに次の定義を追加してください。

PLUGIN 'IVSMODE=2'

VS無効化モードを使用する場合の，インデクスの定義例を次の図に示します。

図2‒24　VS無効化モード使用時のインデクス定義例

(b)　IVS対応機能使用時の注意

IVS対応UTF-8でセットアップしたHiRDB環境だけで使用できます。

基底文字とVSを連結した文字を1文字として扱うため，近傍条件の距離やワイルドカード検索の結果が，IVS対応機能を使用しない場合と異なることがあります。

基底文字だけで検索した場合，VS識別モードはVSのない基底文字だけヒットしますが，VS無効化モードはVSの有無に関係なくヒットします。

2.5.5　データの登録

(1)　データの登録方法

作成した表にデータを登録するには，操作系SQLのINSERT文を使用します。登録するデータは，HiRDBをセットアップしたときの文字コードに合わせて，XML変換ライブラリを使用して生成したESIS-B形式データです。XML変換ライブラリ，およびESIS-B形式データの詳細については「5.　XML変換ライブラリ」を参照してください。

テキスト形式のXMLデータで登録する場合は，INSERT文の中でXMLPARSE関数を使用します。ただし，XMLデータに対して妥当性検証を行わない，などの制約があります。

INSERT文，およびXMLPARSE関数の詳細についてはマニュアル「HiRDB SQLリファレンス」を参照してください。

INSERT文の指定例を次の図に示します。

図2‒25　INSERT文の指定例（ESIS-B形式データの場合）

図2‒26　 INSERT文の処理の例（テキスト形式XMLデータの場合）

また，HiRDBの「pdload（データベース作成ユティリティ）を使用すると，データの一括登録ができます。

SQLによるXMLデータ登録時にXMLデータのエラーを検知しても，トランザクションはロールバックしません。XMLデータのエラーが発生した場合，SQL（INSERT文またはUPDATE文）による登録のときは，SQLCODE=997のエラーとなります。なお，エラーコード詳細化指定をしているときは，SQLCODE=-3040のエラーになります。また，pdloadによる登録のときは，該当する行の登録がスキップされます。

(2)　登録・検索同時実行の設定

登録・検索同時実行を設定すると，データの登録と検索の同時実行ができます。同時実行には次の利点があります。

ほかのユーザが更新中（トランザクションが終了していない状態）のXMLデータを検索できます。

XML型格納用RDエリアおよびIXXML型情報格納用RDエリアに対してグローバルバッファを割り当てると，登録および検索性能が向上します。

ただし，同時実行できるのは次の場合です。

SQLによる単数の更新系トランザクションと，複数の検索系トランザクションの同時実行

インデクス未作成の場合，複数の更新系トランザクションの同時実行

インデクス情報の取得ユティリティ，インデクス作成開始ユティリティと，検索系トランザクションの同時実行

なお，インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」，インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

(a)　指定方法

XML Extensionの環境設定項目，およびHiRDBのバックエンドサーバ定義またはシングルサーバ定義に，次の内容を設定します。XML Extensionの環境設定項目については，「2.6　XMLデータ検索プラグインのユーザ環境設定」を参照してください。また，HiRDBのバックエンドサーバ定義またはシングルサーバ定義の詳細については，マニュアル「HiRDB システム定義」を参照してください。

XMLデータ検索プラグインの環境設定項目

XMLデータ型プラグインを使用している場合

XMLデータ型プラグインの環境設定項目「登録・検索同時実行指定」で次のように指定します。

　　set phd_search_wait=nowait

IXXMLインデクス型プラグインを使用している場合

IXXMLインデクス型プラグインの環境設定項目「1RDエリア当たりの排他制御用共用メモリサイズ」で次のように指定します。

　　set phj_lock_pool_size=共用メモリサイズ

HiRDBのバックエンドサーバ定義またはシングルサーバ定義

IXXMLインデクス型プラグインを使用している場合

IXXMLインデクス型プラグインで使用する共用メモリのサイズを指定します。

HiRDBのバックエンドサーバ定義またはシングルサーバ定義のオペランド「pdplgprm」は，次の形式で指定してください。

オペランドの指定形式

pdplgprm  -n  プラグイン名  -s  共用メモリサイズ

引数

-n　プラグイン名

共用メモリを使用するプラグインの名称を指定します。ここでは，IXXMLインデクス型プラグインのプラグイン名「_phjxml」を指定してください。

-s　共用メモリサイズ

IXXMLインデクス型プラグインで使用する共用メモリのサイズ（キロバイト）を指定します。

(b)　注意事項

HiRDBが提供しているユティリティによる登録と検索系トランザクションは同時に実行できません。

インデクス情報の取得ユティリティ，インデクス作成開始ユティリティ以外のXML Extensionのユティリティと，検索系トランザクションは同時に実行できません。

同時実行を設定している場合，XML Extensionのデータの整合性確保のために，一時的に排他制御をします。このため，同時実行を設定していない場合に比べて，排他制御によるオーバヘッドが掛かります。

「phd_search_wait=nowait」を設定した場合は，IXXML型を作成していない場合でも共用メモリの定義をする必要があります。

同時実行する場合は，グローバルバッファを指定してください。実行性能が向上します。

登録・検索同時実行時に，更新系のトランザクションを複数実行した場合，排他によってwait状態になります。更新系トランザクションのwait状態が解消されるまで，以降の検索処理もwait状態になります。

LOCK文でテーブル全体を排他すると，ほかのトランザクションとの同時実行ができません。このため，登録・検索同時実行を実施する場合は，LOCK文でテーブル全体の排他を実施しないようにしてください。

(3)　分割遅延登録・更新系SQL同時実行の設定

分割遅延登録・更新系SQL同時実行を利用すると，「(2)　登録・検索同時実行の設定」で説明した登録・検索同時実行の機能に加えて，さらに，データ登録とインデクス作成を同時に実行できます。

(a)　指定方法

XMLデータ型プラグインの環境設定項目「登録・検索同時実行」に，次のように指定します。

set phd_search_wait=nowait_with_update

(b)　注意事項

LOCK文でテーブル全体を排他すると，ほかのトランザクションとの同時実行ができません。このため，分割遅延登録・更新系SQL同時実行を実施する場合は，LOCK文でテーブル全体の排他を実施しないようにしてください。

検索トランザクションの排他が更新系SQLまたはインデクス作成開始ユティリティと競合することを避けるため，検索SQL実行時は，SQLの排他オプションにWITHOUT LOCK NOWAITを指定してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

2.5.6　同義語辞書の作成

全文検索で検索タームの同義語を検索条件として使用する場合同義語辞書の作成が必要です。

同義語辞書を作成する前に，同義語辞書の基になるファイルを作成します。このファイルを同義語辞書テキストファイルといいます。同義語辞書テキストファイルには，キーワードとなる単語（検索ターム）の同義語の展開方法を定義します。同義語辞書テキストファイルはテキストエディタなどで作成します。なお，同義語辞書を作成しない場合，このファイルを作成する必要はありません。

(1)　同義語辞書テキストファイルの記述形式

同義語辞書テキストファイルには次の形式で同義語を定義します。

記述形式

同義語，同義語〔，同義語〕…

注意事項

同義語辞書は，HiRDBをセットアップしたときの文字コード，および「付録A　検索に使用できる文字」に示す文字コードで記述してください。

一つの同義語のグループには，2語以上の同義語を記述してください。

行の先頭文字に「*」（半角アスタリスク）を記述すると注釈行とみなされ，同義語として扱われません。「*」を同義語とする場合，「¥*」と記述してください。なお「¥」（エスケープ文字）は半角でも全角でもかまいません。

行の途中に△（半角スペース）があった場合，半角スペース以降のデータは注釈として扱われます。ただし，行の先頭にある半角スペースは無視されます。

半角スペースを同義語とする場合，「¥△」と記述してください。なお「¥」は半角でも全角でもかまいません。

行の末尾が「,」（半角コンマ）で終了している場合，行が継続しているものとして扱われます。「,」を同義語とする場合「¥,」と記述してください。なお「¥」は半角でも全角でもかまいません。

「¥」を同義語とする場合，「¥¥」と記述してください。なお，「¥」は半角でも全角でもかまいません。

BOM（Byte Order Mark）は使用しないでください。BOMが含まれている場合は，通常の文字として扱います。

(2)　同義語辞書テキストファイルの記述例

同義語辞書テキストファイルの記述例を次の図に示します。

図2‒27　同義語辞書テキストファイルの記述例

(3)　同義語グループ内での文字種の制限

一つの同義語のグループには，カタカナ，漢字，数字，アルファベットなどの種類の文字が混在している場合があります。これらの文字の種類を，文字種といいます。例えば「アメリカ合衆国」という単語は，カタカナ（アメリカ）と漢字（合衆国）の二つの文字種で構成されています。

同義語辞書テキストファイルを作成する場合，次のことに注意してください。

一つの同義語のグループを文字種ごとに分割したとき，その数の合計が1,000以下となるようにしてください。ただし，ひらがなは文字種として数えません。

長音およびハイフンは，直前にある文字と同じ文字種とします。直前に文字がない場合は，そのほかの扱いになります。

同義語のグループでの文字種の分割例を次の図に示します。

図2‒28　同義語のグループでの文字種の分割例

2.5.7　同義語辞書の登録

同義語辞書の登録には，同義語辞書登録ユティリティを使用します。「phdsyndicreg（同義語辞書登録ユティリティ）」の詳細については「3.2.1　phdsyndicreg（同義語辞書登録ユティリティ）」を参照してください。

同義語辞書登録ユティリティの指定例を次に示します。

UNIXの場合

phdsyndicreg  USERDIC01  /opt/def1/mydictionary.dic

Windowsの場合

phdsyndicreg  USERDIC01  c:¥data¥def1¥mydictionary.dic

2.6　XMLデータ検索プラグインのユーザ環境設定

この節では，XML ExtensionシステムのXMLデータ検索プラグインの環境をユーザごとに設定する方法について説明します。

2.6.1　XMLデータ型プラグインの環境設定

(1)　環境情報の定義方法

XMLデータ型プラグインの環境情報を設定するファイルを環境定義ファイルといいます。環境定義ファイルは，プラグインごとに作成します。XMLデータ型プラグインの環境定義ファイルは，サンプルファイルとして提供されています。

XMLデータ型プラグインの環境情報を設定できる単位を次に示します。

システム単位

システム単位に定義情報を設定するユーザは，プラグインシステム定義情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

UNIXの場合

$PDDIR/plugin/_phdxml/conf/pdplgsys

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥conf¥pdplgsys

ユニット単位

ユニット単位に定義情報を設定するユーザは，プラグインユニット定義情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

UNIXの場合

$PDDIR/plugin/_phdxml/conf/pdplgutsys

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥conf¥pdplgutsys

サーバ単位（BESまたはSDS単位）

各サーバ単位に定義情報を設定するユーザは，プラグインサーバ環境情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

HiRDB/パラレルサーバの場合

UNIXの場合

$PDDIR/plugin/_phdxml/conf/BES名称

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥conf¥BES名称

HiRDB/シングルサーバの場合

UNIXの場合

$PDDIR/plugin/_phdxml/conf/SDS名称

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥conf¥SDS名称

優先順位は，サーバ単位＞ユニット単位＞システム単位です。

記述誤りなどが検出された場合，サーバは起動しますが，メッセージログに警告メッセージが出力され，誤りのある定義ファイルは無視されます。環境定義ファイルがないか，環境定義ファイルはあるが設定されていない定義がある場合は，エラーではなく，定義値なしとして処理されます。最終的に有効な値がない場合は，システムのデフォルトで動作します。

メッセージログに次のメッセージが出力されていないことを確認してください。

KFPY99999-I xxxx xxxx(xxxxx) 01001-W Invalid data found.
file=aa,line=XX.bb(YY)

または

KFPY99999-I xxxx xxxx(xxxxx) 01002-W Invalid value found. file=aa,line=XX,item=bb.cc(YY)

XMLデータ型プラグインの環境定義ファイルの定義例を次の図に示します。

図2‒29　XMLデータ型プラグインの環境定義ファイルの定義例

注意事項

各設定項目の行末は改行で区切ってください。

設定項目の途中を改行で区切らないでください。

1行に設定できる文字列長は1,023バイトです。

「#」（シャープ）以降は，コメント文として扱われます。

各行は，空行なしで詰めて記述してください。

BOM（Byte Order Mark）は使用しないでください。BOMが含まれている場合は，通常の文字として扱います。

(2)　設定できる項目

XMLデータ型プラグインを動作させる環境情報をXMLデータ型プラグインの環境定義ファイルに定義することで，ユーザごとの環境を設定できます。設定できる定義項目を次の表に示します。

表2‒14　XMLデータ型プラグインの環境定義ファイルに設定できる定義項目

種別

環境設定項目

パラメタ

設定値

環境設定できる単位

登録・検索同時実行

登録・検索同時実行指定

set phd_search_wait

wait，nowait，またはnowait_with_update

デフォルト：wait

サーバ

エラー処理

エラーコード詳細化指定

set phd_errorcode_detail

offまたはon

デフォルト：off

システム，ユニット，サーバ

XMLデータ登録

XMLPARSE名前空間処理指定

set phd_xmlparse_namespace

offまたはon

デフォルト：off

システム，ユニット，サーバ

原文書保持指定

set phd_txt_org

YまたはN

デフォルト：Y

システム，ユニット，サーバ

XQuery変換式使用時の原文削除指定

phd_delete_txt_org

YまたはN

デフォルト：N

システム，ユニット，サーバ

原文なし時XML返却指定

phd_serialize_xml

YまたはN

デフォルト：N

システム，ユニット，サーバ

登録・検索同時実行指定，または分割遅延登録・更新系SQL同時実行指定

登録・検索同時実行，または分割遅延登録・更新系SQL同時実行を使用するかどうかを指定します。

なお，この項目を設定できる単位は，サーバ単位だけです。

形式

set phd_search_wait=wait｜nowait｜nowait_with_update

wait

同時実行を使用しない。

nowait

登録・検索同時実行を使用する。

nowait_with_update

登録・検索同時実行機能に加えて，分割遅延登録・更新系SQL同時実行を使用する。

エラーコード詳細化指定

SQL連絡領域にメッセージが返却される場合に，エラーコードを詳細モードで出力するかどうかを指定します。

詳細モードで出力しない場合，SQLCODE=-997のエラーとなります。詳細モードで出力する場合，XML Extensionのエラーコードが出力されます。エラーコードの詳細は「付録F.1　SQL連絡領域に出力されるメッセージの形式」を参照してください。

形式

set phd_errorcode_detail=off｜on

off

詳細化モードで出力しません。

on

詳細化モードで出力します。

XMLPARSE名前空間処理指定

XMLPARSE関数を使用してXMLデータを登録する場合の名前空間処理方法を指定します。

形式

set phd_xmlparse_namespace=off｜on

off

名前空間を無効にします。接頭辞が記述されていても，接頭辞が指定されていないものとして処理し，すべての要素および属性は，規定のXML名前空間として扱います。

on

名前空間を有効にします。ただし，名前空間の宣言は開始タグだけを有効とし，DTDでの名前空間の宣言は無視します。なお，XMLデータ内の各接頭辞は4096バイト以内で記述してください。

注意事項

このパラメタは，環境設定先すべてのXML型列に対して有効となりますので，XMLPARSE関数で運用を行うXML型列が複数ある場合，名前空間の有効／無効を混在できません。また，既存のXML型列にXMLPARSE関数でデータが登録されている状態で，このパラメタを変更するだけでは，登録済みのデータ内容は変更できないため，このパラメタを変更した場合は既存のXML型列のデータをすべて再登録する必要があります。旧バージョンの08-04ではこのパラメタがoffの状態と同じ仕様となりますので，バージョンアップ後にこのパラメタをonにする場合もXMLPARSE関数を使用するXML型列のデータをすべて再登録する必要があります。

なお，名前空間の有効／無効が混在した場合は，検索時の名前空間指定内容が異なりますので，期待通りの検索結果が得られません。

原文書保持指定

XMLPARSE関数を使用してXMLデータを登録する場合，生成するESIS-B形式データに原文書を保持するかどうかを指定します。

形式

set phd_txt_org=Y｜N

Y

原文書を保持します。

N

原文書を保持しません。

注意事項

XQuery変換式ではESIS-B形式データだけを更新するため，原文とESIS-B形式データが異なるXMLデータになります。XQuery変換式を利用する場合，ESIS-B形式データ内に原文書を保持しない運用を推奨します。

XQuery変換式使用時の原文削除指定

XQuery変換式を使用してXMLデータを更新する場合，更新するESIS-B形式データの原文書を削除するかどうかを指定します。

形式

set phd_delete_txt_org=Y｜N

Y

原文書を削除します。

N

原文書を削除しません。

注意事項

XQuery変換式ではESIS-B形式データだけを更新するため，原文とESIS-B形式データが異なるXMLデータになります。XQuery変換式を利用する場合，ESIS-B形式データ内に原文書を保持しない運用を推奨します。

原文なし時XML返却指定

extracts関数の第2引数に'XML'を指定して，原文を出力する場合に，原文を持たないESIS-B形式データのときに，ESIS-B形式データからXMLデータを再構築して返すかNULL値を返すかどうかを指定します。原文を持つESIS-B形式データの場合は，指定に関係なく原文のXMLデータを返します。

形式

set phd_serialize_xml=Y｜N

Y

原文を再構築して出力します。

N

NULL値を返します。

(3)　有効範囲

環境定義ファイルに定義した環境情報は，サーバ開始から終了まで有効です。HiRDB稼働中に環境情報を変更した場合は，正しく動作しない場合がありますので，変更しないでください。

2.6.2　 IXXMLインデクス型プラグインの環境設定

(1)　環境情報の定義方法

IXXMLインデクス型プラグインの環境定義ファイルは，サンプルファイルとして提供されています。

IXXMLインデクス型プラグインの環境情報を設定できる単位を次に示します。

システム単位

システム単位に定義情報を設定するユーザは，プラグインシステム定義情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

UNIXの場合

   $PDDIR/plugin/_phjxml/conf/pdplgsys

Windowsの場合

   %PDDIR%¥plugin¥_phjxml¥conf¥pdplgsys

ユニット単位

ユニット単位に定義情報を設定するユーザは，プラグインユニット定義情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

UNIXの場合

   $PDDIR/plugin/_phjxml/conf/pdplgutsys

Windowsの場合

   %PDDIR%¥plugin¥_phjxml¥conf¥pdplgutsys

サーバ単位

各サーバ単位に定義情報を設定するユーザは，プラグインサーバ環境情報ファイルを作成します。

作成するディレクトリおよびファイル名は次のとおりです。

HiRDB/パラレルサーバの場合

UNIXの場合

$PDDIR/plugin/_phjxml/conf/BES名称

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥conf¥BES名称

HiRDB/シングルサーバの場合

UNIXの場合

$PDDIR/plugin/_phjxml/conf/SDS名称

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥conf¥SDS名称

優先順位は，サーバ単位＞ユニット単位＞システム単位です。

記述誤りなどが検出された場合，サーバは起動しますが，メッセージログに警告メッセージが出力され，誤りのある定義ファイルは無視されます。環境定義ファイルがないか，環境定義ファイルはあるが設定されていない定義がある場合は，エラーではなく，定義値なしとして処理されます。最終的に有効な値がない場合は，システムのデフォルトで動作します。

メッセージログに次のメッセージが出力されていないことを確認してください。

KFPY99999-I xxxx xxxx(xxxxx) 01001-W Invalid data found. file=aa,line=XX.bb(YY)

または

KFPY99999-I xxxx xxxx(xxxxx) 01002-W Invalid value found. file=aa,line=XX,item=bb.cc(YY)

IXXMLインデクス型プラグインの環境定義ファイルの定義例を次の図に示します。

図2‒30　IXXMLインデクス型プラグインの環境定義ファイルの定義例

注意事項

各設定項目の行末は改行で区切ってください。

1行に1項目だけ指定できます。2項目以上指定した場合は，2項目目以降は無視されます。

設定項目の途中を改行で区切らないでください。

検索用ワークファイルを使用して実行した検索が異常終了した場合，検索用ワークファイルディレクトリに不要なファイルが残ることがあります。これらのファイルは定期的にユーザが削除してください。

1行に設定できる文字列長は1,023バイトです。

「#」（シャープ）以降は，コメント文として扱われます。

各行は，空行なしで詰めて記述してください。

BOM（Byte Order Mark）は使用しないでください。BOMが含まれている場合は，通常の文字として扱います。

(2)　設定できる項目

IXXMLインデクス型プラグインを動作させる環境情報をIXXMLインデクス型プラグインの環境定義ファイルに定義することで，ユーザごとの環境を設定できます。設定できる定義項目を次の表に示します。

表2‒15　IXXMLインデクス型プラグインの環境定義ファイルに設定できる定義項目

種別

環境設定項目

パラメタ

設定値

環境を設定できる単位

XMLデータ検索

一括登録時最大メモリサイズ

set phj_mem_build

最大値（32ビット版の場合）：2,097,152キロバイト

最大値（64ビット版の場合）：3,670,016キロバイト

最小値：30,720キロバイト

デフォルト：512,000キロバイト

システム，ユニット，サーバ

1件登録時最大メモリサイズ

set phj_mem_insert

最大値：2,097,152キロバイト

最小値：3,072キロバイト

デフォルト：51,200キロバイト

システム，ユニット，サーバ

検索時最大ワークメモリサイズ

set phj_mem_search

最大値（32ビット版の場合）：2,097,152キロバイト

最大値（64ビット版の場合）：4,194,303キロバイト

最小値：2,048キロバイト

デフォルト：102,400キロバイト

システム，ユニット，サーバ

検索用ワークファイルディレクトリ

set phj_dir_search

最大長：200バイト（¥0を含む）

最小長：1バイト

UNIXの場合のデフォルト：HiRDB運用ディレクトリ/plugin/_phjxml/tmp

Windowsの場合のデフォルト：HiRDB運用フォルダ¥plugin¥_phjxml¥tmp

システム，ユニット，サーバ

検索オプション

set phj_opt_search

memoryまたはfile

デフォルト：memory

システム，ユニット，サーバ

最大同義語異表記展開数

set phj_expand_counts

最大値：1,000,000回

最小値：1回

デフォルト：0（無制限）

システム，ユニット，サーバ

スコア算出法指定

set phj_opt_score

booleanまたはtotal

デフォルト：boolean

システム，ユニット，サーバ

検索抑止インデクスサイズ

set phj_index_search

最大値：2,097,152キロバイト

最小値：64キロバイト

デフォルト：2,097,152キロバイト

システム，ユニット，サーバ

拗音展開拡張モード

set phj_expand_youon_mode

0または1

デフォルト：0

システム，ユニット，サーバ

長音ハイフン展開拡張モード

set phj_expand_chouon_mode

0または1

デフォルト：0

システム，ユニット，サーバ

1文字近傍検索実行可否

set phj_1gram_proximity_search

onまたはoff

デフォルト：on

システム，ユニット，サーバ

他列絞り込み率

set phj_ratio_of_filtering

最大値：100％

最小値：1％

デフォルト：20％

システム，ユニット，サーバ

登録・検索同時実行

1RDエリア当たりの排他制御用共用メモリサイズ

set phj_lock_pool_size

最大値：1,024キロバイト

最小値：8キロバイト

デフォルト：8キロバイト

サーバ

分割遅延登録

分割遅延登録用ファイルオーバ時の処理

set phj_delay_over

continueまたはerror

デフォルト：error

システム，ユニット，サーバ

遅延データスキャン機能指定

set phj_table_scan

onまたはoff

デフォルト：on

システム，ユニット，サーバ

スキャン検索結果の重複排除

set phj_scan_result

allまたはdistinct

デフォルト：all

システム，ユニット，サーバ

運用

インデクス用グローバルバッファ最適化指定

set phj_global_buffer_mode

0または1

デフォルト：0

システム，ユニット，サーバ

分割遅延登録

分割遅延登録・更新系SQL同時実行の更新系SQL優先モード

set phj_update_priority

onまたはoff

デフォルト：on

システム，ユニット，サーバ

一括登録時最大メモリサイズ

IXXML型に対する一括追加（CREATE INDEX，pdload）をするときに使用する最大メモリサイズ（キロバイト）です。

パラレルサーバで表分割をしている場合，BESごとのメモリとなるため，メモリ空き容量に注意してください。

形式

set phj_mem_build=xxxx

1件登録時最大メモリサイズ

IXXML型に1件追加（INSERT文，UPDATE文，pdloadのSYNCモード）するときに使用する最大メモリサイズ（キロバイト）です。

形式

set phj_mem_insert=xxxx

検索時最大ワークメモリサイズ

検索処理をするときに使用する作業用メモリの最大メモリサイズ（キロバイト）です。

パラレルサーバで表分割をしている場合，BESごとのメモリとなるため，メモリ空き容量に注意してください。

形式

set phj_mem_search=xxxx

検索用ワークファイルディレクトリ

検索オプションに，「set phj_opt_search=file」を指定した場合，検索に使用するワークファイルを作成するディレクトリ名を絶対パスで指定します。XML Extensionは，検索開始時にファイル名が「swk」で始まるユニークなファイルを指定されたディレクトリに作成し，検索終了時に削除します。

検索が複数同時実行された場合，ディレクトリ競合による性能低下のおそれがあります。そのため，同一のBESに対して複数のユーザが同時に検索する運用の場合は，ファイルではなくメモリの使用をお勧めします。

なお，検索高速化インデクス（V2）機能を使用している場合は，指定しても無視されます。

形式

set phj_dir_search=xxxxxxxxxxxx

検索オプション

検索時の動作方法を指定します。

検索時最大ワークメモリサイズを超えた場合，エラーとするか検索用ワークファイルを使用するか選択できます。

なお，検索高速化インデクス（V2）機能を使用している場合は，指定しても無視されます。

形式

set phj_opt_search=memory | file

memory

メモリ上で動作します。「set phj_mem_search」で指定したメモリサイズを超える場合は，メモリ不足エラーとなります。

file

メモリおよび検索用ワークファイルで動作します。

最大同義語異表記展開数

同義語異表記検索時の最大展開数を指定します。0を指定した場合は，無制限となります。最大展開数を超える検索を行うとSQL連絡領域に次のメッセージが出力されます。

Expand search exceeds maximum counts.(XX)

メッセージの詳細については，「付録F　エラーメッセージ」を参照してください。

形式

set phj_expand_counts = xxxx

スコア算出法指定

検索時のスコア算出法を指定します。

形式

set phj_opt_score=boolean|total

boolean

論理演算時に検索条件式が論理積の場合は，演算対象内で最小のスコアを最終スコアとし，論理和の場合は，演算対象内で最大のスコアを最終スコアとします。

total

論理演算時に検索条件式が論理積，論理和のどちらの場合でも，演算対象内のスコアの総和の値を最終スコアとします。

検索抑止インデクスサイズ

検索で使用するインデクスサイズの上限値を指定します。検索時に指定した上限値を超えるインデクスを参照すると，SQL連絡領域に次のメッセージが出力されます。

Index data for search exceeds maximum size.(XX)

メッセージの詳細については，「付録F　エラーメッセージ」を参照してください。

なお，検索高速化インデクス（V2）機能を使用している場合は，指定しても無視されます。

形式

set phj_index_search = xxx

拗音展開拡張モード

カタカナ拗音展開，およびひらがな拗音展開を拡張するかどうかを指定します。拡張した場合は，カタカナ拗音展開指定（"C"）のときに従来の展開に加えて"カ"と"ヵ"，"ケ"と"ヶ"，"ワ"と"ヮ"の展開を行い，ひらがな拗音展開指定（"Y"）のときに従来の展開に加えて"わ"と"ゎ"の展開を行います。なお，カタカナ拗音展開指定（"C"）をカタカナ異表記指定（"K"）またはカタカナベーシック展開指定（"B"）と組み合わせて使用した場合と拗音統一機能のインデクスに対して使用した場合は，指定しても無視されます。

形式

set phj_expand_youon_mode=0|1

0

拡張しません。

1

拡張します。

長音ハイフン展開拡張モード

カタカナ長音・ハイフン展開を拡張するかどうかを指定します。拡張した場合は，カタカナ長音・ハイフン展開指定（"L"）のときに前後の文字に関係なく"ー"（長音），"−"（マイナス），"‐"（ハイフン），"—"（ダッシュ）の展開を行います。なお，カタカナ異表記指定（"K"）またはカタカナベーシック展開指定（"B"）と組み合わせて使用した場合は，指定しても無視されます。

形式

set phj_expand_chouon_mode=0|1

0

拡張しません。

1

拡張します。

1文字近傍検索実行可否

1文字のインデクスを使用する近傍検索や，「A*A」のような1文字のインデクスを使用する前方後方一致のワイルドカード検索の実行を可能にするかを指定します。なお，これらの検索は使用するインデクスが多くなり，システムに負荷を与えるおそれがあります。このため，これらの検索を実行する必要がない場合は「off」を指定してください。

形式

set phj_1gram_proximity_search=on|off

on

1文字のインデクスを使用する近傍検索，および前方後方一致のワイルドカード検索を実行できます。

off

1文字のインデクスを使用する近傍検索，および前方後方一致のワイルドカード検索を実行するとエラーリターンし，SQL連絡領域に「Cannot specify term of ome character in proximity.」のメッセージが出力されます。

メッセージの詳細については「付録F　エラーメッセージ」を参照してください。

他列絞り込み率

他列のインデクスで評価する条件による絞り込み結果の行識別子集合を検索高速化インデクス（V2）による全文検索で利用する場合の絞り込み率を指定します。

全文検索で使用するインデクスの最大ヒット件数（100件未満切り捨て）に対する他列のヒット件数の割合がこの指定以下の場合に絞り込み結果を利用します。ほかの条件による絞り込み率が良い場合には，その絞り込み結果を利用して検索高速化インデクス（V2）のサーチ範囲をさらに絞り込むため，高速に検索できます。

なお，パラレルサーバで表分割している場合，BESごとに絞り込み率が異なるため，絞り込み結果を利用するBESと利用しないBESが混在する場合があります。

形式

set phj_ratio_of_filtering=xxx

1RDエリア当たりの排他制御用共用メモリサイズ

登録・検索同時実行時の排他制御に使用する共用メモリのサイズ（キロバイト）を指定します。サイズは8キロバイトの倍数で指定してください。8キロバイトの倍数でない値が指定された場合は，8キロバイト単位で切り下げられます。ただし，8キロバイトより小さい値が指定された場合は，8キロバイト（デフォルト）になります。

なお，この項目を設定できる単位は，サーバ単位だけです。

形式

set phj_lock_pool_size=xxxx

分割遅延登録用ファイルオーバ時の処理

インデクス分割遅延登録時に，指定された分割登録用の領域を使い切った場合の処理を指定します。

形式

set phj_delay_over=continue | error

continue

登録要求されたXMLデータは遅延せず即時にインデクスを作成して登録します。

error

エラーリターンします。

遅延データスキャン機能指定

遅延データスキャン機能に対応するインデクスが作成された場合，実際に遅延データスキャン機能を使用して検索するかどうかを指定します。

形式

set phj_table_scan=on | off

on

遅延データスキャン機能を適用します。

off

遅延データスキャン機能を適用しません。

スキャン検索結果の重複排除

遅延データスキャン機能を使って検索した結果にインデクスで検索した結果と重複する行があった場合，重複した行を排除するかどうかを指定します。

形式

set phj_scan_result=all | distinct

all

重複した行があっても重複を許し，そのまま返します。

distinct

重複した行があったら重複を排除し，1つの行と見なして返します。

インデクス用グローバルバッファ最適化指定

インデクスにアクセスするときHiRDB BLOB用グローバルバッファを最適化するかどうかを指定します。最適化した場合は検索性能の向上が期待できます。

なお，検索高速化インデクス（V2）機能を使用している場合，バージョン09-05以降は指定できますが，09-05より前は指定しても無視されます。

形式

set phj_global_buffer_mode=0|1

0

最適化しません。

1

最適化します。

検索用の管理データファイル単位で優先してバッファリングします。各ファイルの優先付けについては，「6.2　性能向上の運用」を参照してください。

分割遅延登録・更新系SQL同時実行の更新系SQL優先モード

分割遅延登録・更新系SQL同時実行時に更新系SQLを優先するか，しない（分割遅延登録を優先する）かを指定します。

形式

set phj_update_priority = on | off

on

更新系SQLを優先します。インデクス作成開始ユティリティで遅延データのインデクスが作成されない場合があります。

off

更新系SQLを優先しません。インデクス作成開始ユティリティと排他が競合した場合，更新系SQLが排他失敗でエラーになるときがあります。

(3)　有効範囲

環境定義ファイルに定義した環境情報は，サーバ開始から終了まで有効です。HiRDB稼働中に環境情報を変更した場合は，正しく動作しない場合がありますので変更しないでください。

2.7　XML Extensionの設定解除

この節では，コマンドを使用した，XML Extensionの設定解除方法について説明します。ここでは，XMLデータ検索プラグインのデータベースを運用していることを前提に説明します。

なお，HiRDBが提供しているユティリティの使用方法については，マニュアル「HiRDB コマンドリファレンス」および「HiRDB システム導入・設計ガイド」を参照してください。また，XML Extensionのユティリティの使用方法については，「3.　XML Extensionのユティリティ」を参照してください。

2.7.1　設定解除の流れ

XMLデータ検索プラグインのデータベースの運用状態から，XML Extensionの設定解除までの操作の流れを次の図に示します。

図2‒31　XML Extensionの設定解除の流れ

以降，上記の流れに従って作業の詳細を説明します。

2.7.2　XML Extensionを適用している表の削除

XML Extensionを適用している表を削除するには，定義系SQLのDROP TABLEを使用します。XML型の列を定義している表が削除の対象となります。DROP TABLEの詳細については，マニュアル「HiRDB SQLリファレンス」を参照してください。

2.7.3　XML Extensionの削除

XML Extensionの削除には，HiRDBの運用コマンド「pdplgrgst（プラグインの登録・削除）」を使用します。プラグインを削除する場合，pdplgrgstコマンド実行前に次のものを削除しておいてください。

削除するプラグインを使用した表

削除するプラグインを使用したインデクス

削除するプラグインが提供している抽象データ型，インデクス型，および関数を利用した，関数，手続き

XML Extensionを削除する場合は，次の形式で実行してください。なお，XMLデータ検索プラグインを削除する場合には，IXXMLインデクス型プラグイン，XMLデータ型プラグインの順に削除してください。

コマンドの形式

pdplgrgst -d プラグイン定義ファイル名  PICファイル名

引数

プラグイン定義ファイル名

プラグイン定義ファイルのファイル名を指定します。コマンドを入力するときのカレントディレクトリにあるファイル名または絶対パスを含めたファイル名を指定します。各プラグインに指定するプラグイン定義ファイル名を次の表に示します。

表2‒16　XMLデータ検索プラグインに指定するプラグイン定義ファイル名（XML Extensionの削除）

XMLデータ検索プラグイン

プラグイン定義ファイル名

XMLデータ型プラグイン

_phdxml.adt

IXXMLインデクス型プラグイン

_phjxml.idx

PICファイル名

PICファイルのファイル名を指定します。コマンドを入力するときのカレントディレクトリにあるファイル名または絶対パスを含めたファイル名を指定します。各プラグインに指定するPICファイル名を次の表に示します。

表2‒17　XMLデータ検索プラグインに指定するPICファイル名（XML Extensionの削除）

XMLデータ検索プラグイン

PICファイル名

XMLデータ型プラグイン

_phdxml.pic

IXXMLインデクス型プラグイン

_phjxml.pic

コマンド実行例（UNIXの場合）

pdplgrgst  -d $PDDIR/plugin/_phjxml/etc/_phjxml.idx ¥
             $PDDIR/plugin/_phjxml/etc/_phjxml.pic
pdplgrgst  -d $PDDIR/plugin/_phdxml/etc/_phdxml.adt ¥
             $PDDIR/plugin/_phdxml/etc/_phdxml.pic

上記は，2行でコマンドを入力した例を記載していますが，1行で入力する場合は，「¥」（エスケープ文字）を入力しないでください。

コマンド実行例（Windowsの場合）

pdplgrgst  -d %PDDIR%¥plugin¥_phjxml¥etc¥_phjxml.idx
             %PDDIR%¥plugin¥_phjxml¥etc¥_phjxml.pic
pdplgrgst  -d %PDDIR%¥plugin¥_phdxml¥etc¥_phdxml.adt
             %PDDIR%¥plugin¥_phdxml¥etc¥_phdxml.pic

「PDDIR」は，HiRDBインストール先フォルダパスが格納された環境変数を示します。環境変数PDDIRは「%」で囲んで「%PDDIR%」と入力してください。

上記の例では，コマンドの引数を改行して記述していますが，実際は改行しないで入力してください。

2.7.4　XML Extensionのアンセットアップ（UNIXの場合）

HiRDB運用ディレクトリからXML Extensionの各プラグインに関するファイルを削除します。XML Extensionのアンセットアップには，HiRDBの運用コマンド「pdplgset（プラグインのセットアップ）」を使用します。HiRDBの運用コマンド「pdstop（HiRDBシステム・ユニット・サーバの終了）」で正常終了させたあとに実行してください。バックアップを実行する時には，「2.7.6　HiRDBをOSから削除する場合の注意事項（UNIXの場合）」を参照してください。

XML Extensionのアンセットアップは，次の形式で実行してください。

コマンドの形式

pdplgset  -d  プラグイン名

引数

-d プラグイン名

アンセットアップするプラグインの名称を指定します。各プラグインに指定するプラグイン名を次の表に示します。

表2‒18　 XMLデータ検索プラグインに指定するプラグイン名（XML Extensionのアンセットアップ）

XMLデータ検索プラグイン

プラグイン名

XMLデータ型プラグイン

_phdxml

IXXMLインデクス型プラグイン

_phjxml

コマンド実行例

pdplgset  -d  _phdxml
pdplgset  -d  _phjxml

2.7.5　システム共通定義の変更

HiRDBのシステム共通定義「pdsys」に追加した，使用するプラグインを宣言する「pdplugin」オペランドでXML Extensionの各プラグインを定義している部分を削除します。このとき，このオペランドを追加しているすべてのサーバマシン上のシステム共通定義から削除してください。なお，この作業は，HiRDBの運用コマンド「pdstop（HiRDBシステム・ユニット・サーバの終了）」で正常終了させたあとに実行してください。

削除するオペランドの例を次に示します。

pdplugin  -n  _phdxml
pdplugin  -n  _phjxml

また，登録・検索同時実行を使用していた場合は，HiRDBのバックエンドサーバ定義またはシングルサーバ定義に追加した，プラグインで使用する共用メモリのサイズを宣言する「pdplgprm」オペランドで，IXXMLインデクス型プラグインで使用する共用メモリのサイズを定義している部分を削除します。このとき，このオペランドを追加しているすべてのサーバマシン上のバックエンドサーバ定義またはシングルサーバ定義から削除してください。

削除するオペランドの例を次に示します。

pdplgprm  -n  _phjxml  -s  128

2.7.6　HiRDBをOSから削除する場合の注意事項（UNIXの場合）

HiRDBの運用コマンド「pdsetup -d（HiRDBシステムのOSからの削除）」を実行してHiRDBをOSから削除する場合は，まずHiRDBの運用コマンド「pdplgset -d（プラグインのアンセットアップ）」を実行して，XML Extensionを先にアンセットアップしてください。

ただし，「pdplgset -d」を実行するとプラグイン固有ファイルが削除されるため，バックアップが必要な場合はアンインストールの前にバックアップを実行してください。バックアップの詳細については「6.3.2　バックアップの取得方法」を参照してください。

2.8　HiRDBの提供する機能の利用

XML Extensionは，HiRDBに組み込んで利用します。このため，HiRDBの次の機能を利用できます。

データベース作成ユティリティ（pdload）

HiRDBの「pdload（データベース作成ユティリティ）」を使用して，XML Extension にデータを登録できます。

pdloadを使用してXML Extension にデータを登録するときには，入力データファイルにバイナリ形式を使用します。

指定方法の詳細については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

データベース再編成ユティリティ（pdrorg）

XML Extensionでは，HiRDBの「pdrorg（データベース再編成ユティリティ）」を使用した表の再編成またはインデクスの一括作成に対応しています。

XML Extensionでは，pdrorgに対応した次の機能を提供しています。

アンロード機能

プラグインインデクス遅延一括作成機能

プラグインインデクス一括作成部分回復機能

pdrorgを使用する場合，コンストラクタ関数およびコンストラクタパラメタ逆生成関数の指定が必要になるときがあります。コンストラクタパラメタ逆生成関数の情報を次の表に示します。

表2‒19　コンストラクタパラメタ逆生成関数

抽象データ型

コンストラクタパラメタ逆生成関数（func）

引数の型（param）

XML型

extracts

XML

定義ファイルでの抽象データ型関数の指定例を次に示します。指定方法の詳細については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

XML型の場合

アンロード時：unld_func type=XML,func=extracts(XML)

リロード時：reld_func type=XML,func=XML(binary)

プラグイン提供関数からの一括取得処理

XML Extensionでは，HiRDBの「プラグイン提供関数からの一括取得処理」および「プラグイン提供関数からの返却結果の一括取得処理の適用範囲拡大」に対応しています。指定方法の詳細については，マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」の環境変数「PDSQLOPTLVL」の「プラグイン提供関数からの一括取得機能」を参照してください。

3　XML Extensionのユティリティ

この章では，XML Extensionの運用に必要なユティリティの使用方法について説明します。

3.1　ユティリティの使用方法

この節では，XML Extensionが提供するユティリティの使用方法について説明します。

3.1.1　XML Extensionのユティリティとは

XML Extensionでは，XML Extensionの設定，管理および運用のためにユティリティを提供しています。ユティリティは，XML Extensionを登録したマシン上で実行します。

XML Extensionのユティリティは，HiRDBのクライアント（UAP）として動作します。このため，事前にクライアント環境定義を設定してください。なお，クライアント環境定義PDUSERには，DBA権限のある認可識別子を設定してください。クライアント環境定義については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

また，XML Extensionの運用中には，XML Extensionのユティリティ以外に，HiRDBで提供されているユティリティや運用コマンドを使用する場合があります。HiRDBで提供されているユティリティおよび運用コマンドの使用方法については，マニュアル「HiRDB コマンドリファレンス」を参照してください。

XML Extensionが提供するXMLデータ検索プラグインのユティリティの機能一覧を，次の表に示します。なお，「phdxmlcnv（XMLデータ変換コマンド）」については「5.　XML変換ライブラリ」を参照してください。

表3‒1　XML Extensionが提供するXMLデータ検索プラグインのユティリティの機能一覧

プラグイン種別

ユティリティコマンド名

機能

ユティリティコマンドの実行者

HiRDB稼働中での実行可否

実行するHiRDB運用環境

XMLデータ検索プラグイン

XMLデータ型プラグイン

phdxmlcnv

XMLデータファイルをXMLデータ検索用ファイルに変換

HiRDB管理者

−

任意

phdsyndicreg

同義語辞書の登録

HiRDB管理者

○

XML Extensionを登録したすべてのHiRDB運用環境※1

phdsyndicrm

同義語辞書の削除

HiRDB管理者

○

XML Extensionを登録したすべてのHiRDB運用環境※1

phdsyndicconv

同義語辞書の移行

HiRDB管理者

○

XML Extensionを登録したすべてのHiRDB運用環境※1

phdsyndicbkup（UNIXの場合）

同義語辞書のバックアップ

HiRDB管理者

×

XML Extensionを登録したすべてのHiRDB運用環境※1

phdrulecheck

統制ルールチェックユティリティ

HiRDB管理者

○

XML Extensionを登録したすべてのHiRDB運用環境※1

IXXMLインデクス型プラグイン

phjidxls

インデクス情報の取得

HiRDB管理者

○

SDSまたはMGR

phjincmt※2

インデクスのインクリメンタル（最適化）ユティリティ

HiRDB管理者

○

SDSまたはMGR

phjincrword

文字列指定インクリメンタルユティリティ

HiRDB管理者

○

SDSまたはMGR

phjexpnd

インデクスの拡張

HiRDB管理者

○

SDSまたはMGR

phjstartidx

インデクスの作成開始

HiRDB管理者

○

SDSまたはMGR

phjdelay

インデクス分割遅延登録運用変更

HiRDB管理者

○

SDSまたはMGR

phjmodidx

インデクス情報変更

HiRDB管理者

○

SDSまたはMGR

phjcond

インデクス詰め替え

HiRDB管理者

○

SDSまたはMGR

（凡例）

○：HiRDBが稼働中のときだけ実行できます。

×：HiRDBが停止しているときだけ実行できます。

−：HiRDBの稼働／停止に関係なく実行できます。

SDS：HiRDB/シングルサーバの場合に，シングルサーバがあるサーバマシンで実行することを示します。

MGR：HiRDB/パラレルサーバの場合に，システムマネジャがあるサーバマシンで実行することを示します。

注

ユティリティの実行時に指定したファイルを，ほかのユティリティまたはUAPで同時に使用しないでください。同じファイルをユティリティまたはUAPで同時に使用した場合は，処理結果が誤りとなったり，エラーが発生したりすることがあります。

注※1

XMLデータ型プラグインを登録したすべてのHiRDB運用環境に対して，同一の操作をしてください。

注※2

英文インデクスは指定できません。

3.1.2　ユティリティの記述形式と操作

ここでは，ユティリティの入力方法と記述形式について説明します。なお，ユティリティは，open状態かつHiRDBの運用コマンド「pdhold（RDエリアの閉塞）」による閉塞状態か，open状態かつ閉塞解除状態のどちらかのときに実行してください。

(1)　ユティリティの記述形式

ユティリティは次の形式で記述します。

ユティリティコマンド名　オプション　コマンド引数

(a)　ユティリティコマンド名

ユティリティコマンド名は，実行するユティリティコマンドのファイル名です。各ユティリティコマンドを格納しているディレクトリ名については，「付録B　ディレクトリおよびファイル構成」を参照してください。

(b)　オプション

オプションで指定するのは，ユティリティコマンドの操作そのものを修飾するか，または操作の対象物を特定するために，対象物を修飾するかのどちらかです。

次の説明中に使用する$はシェルのプロンプト，cmdはユティリティコマンド名を示します。

オプションは，「−」（マイナス記号）で始まる文字列で，フラグ引数を指定しないか，または1種類のフラグ引数を指定します。

オプションの記述形式を次に示します。

−オプションフラグ

または

−オプションフラグ　フラグ引数

（凡例）

オプションフラグ：

1文字以上の英数字（英大文字と英小文字は区別されます）

フラグ引数：

オプションフラグに対する引数

フラグ引数のないオプションフラグは，一つのマイナス記号の後ろにまとめて指定できます。

（例）

次の二つは同じ意味です。

     $ cmd -a -b -c
     $ cmd -abc

フラグ引数を必要とするオプションフラグのフラグ引数は，省略できません。

フラグ引数中にあるスペースを含める場合（UNIXの場合は，シェルから入力するとき）は，フラグ引数の前後を「"」（ダブルクォーテーション）で囲まなければなりません。

（例）

1 2を引数に持つオプションfは，次のように記述します。

     $ cmd -f "1 2"

同じオプションフラグを2回以上指定すると，最後に指定したオプションの値が有効になります。

（例）

次のように入力すると，-a 2が有効となります。

     $ cmd -a 1 -a 2

オプションは，コマンド引数よりも前に指定しなければなりません。

（例）

オプションフラグaが，フラグ引数をとらない場合，次のように入力すると，fileと-bはコマンド引数とみなされます。

     $ cmd -a file -b

二つのマイナス記号「− −」は，オプションの終わりを示します。

（例）

次のように入力すると，-bはコマンド引数とみなされます。

     $ cmd -a -- -b

マイナス記号だけのオプションは，入力できません。

（例）

次のように入力すると，「−」はコマンド引数とみなされます。

     $ cmd -

(c)　コマンド引数

コマンド引数は，ユティリティコマンドの操作で，直接対象になる値を指定します。対象物を修飾指定する場合，オプションで対象物を指定します。

コマンド引数として制御文ファイルを指定した場合，特に明記しないかぎり通常ファイルを対象とします。

3.2　XMLデータ検索プラグインのユティリティ

この節では，XML ExtensionのXMLデータ検索プラグイン（IXXMLインデクス型プラグイン）で，XMLデータを扱うために必要なユティリティの詳細について説明します。なお，phdxmlcnv（XMLデータ変換コマンド）については「5.4.6　XMLデータ変換コマンド（phdxmlcnv）によるESIS-B形式データの生成」を参照してください。

3.2.1　phdsyndicreg（同義語辞書登録ユティリティ）

(1)　機能

同義語検索をするために必要な同義語辞書を登録します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phdsyndicreg 同義語辞書名 同義語辞書テキストファイル名 [-r ルールファイル名 [-e]]

(4)　コマンド引数

同義語辞書名：

辞書を登録する際に付ける名称を指定します。システム内で区別できるユニークな名称を，1〜32バイトの範囲内で指定してください。

同義語辞書テキストファイル名：

同義語辞書のテキストファイルの名称を指定します。

ユティリティを実行するときのカレントディレクトリにあるファイル名または絶対パスを含めたファイル名を指定します。

-r

ルールファイル名を指定します。ルールファイル名には，CREATE INDEXで指定したルールファイル名と同じファイル名を指定してください。SAMERULE2のインデクスを使用する場合，-eオプションを指定してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

XMLデータ型プラグインを登録したすべてのHiRDB運用環境に対して，同一の同義語辞書テキストファイルを使用し，同一の同義語辞書名で登録してください。

系切り替え運用を行う場合は，「付録E　系切り替え」を参照してください。

同義語辞書名に指定できる文字は，HiRDBをセットアップしたときの文字コード，記号，英数字，および半角カタカナです。ただし，次の表に示す記号は指定できません。

表3‒2　同義語辞書名に指定できない記号

記号

記号の名称

"

ダブルクォーテーション

,

コンマ

{

左波括弧

}

右波括弧

[

左角括弧

]

右角括弧

(

左丸括弧

)

右丸括弧

¥

円記号（エスケープ文字）

*

アスタリスク

?

疑問符

|

パイプ

^

ハット

:

コロン

△

空白

3.2.2　phdsyndicrm（同義語辞書削除ユティリティ）

(1)　機能

phdsyndicregで登録した同義語辞書を削除します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phdsyndicrm 同義語辞書名

(4)　コマンド引数

同義語辞書名：

削除する同義語辞書の同義語辞書名を指定します。登録されている名称を指定してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

XMLデータ型プラグインを登録したすべてのHiRDB運用環境から，同一の同義語辞書名の同義語辞書を削除してください。

3.2.3　phdsyndicbkup（同義語辞書バックアップユティリティ）（UNIXの場合）

(1)　機能

登録した同義語辞書のバックアップを取得します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phdsyndicbkup　バックアップファイル名またはデバイス名

(4)　コマンド引数

バックアップファイル名またはデバイス名：

バックアップファイル名，またはデバイス名を指定します。

(5)　規則

このユティリティは，必ずHiRDBを停止してから実行してください。

(6)　注意事項

同義語辞書をリストアする場合，次のコマンドをHiRDB管理者が実行してください。

tar xvf バックアップファイル名またはデバイス名

リストアする場合に，すでに同じ名称の同義語辞書があるときは，登録済みの同義語辞書が上書きされます。

3.2.4　phjidxls（インデクス情報の取得ユティリティ）

(1)　機能

指定されたIXXMLインデクス型プラグインの次の表に示す情報を取得します。

表3‒3　 phjidxls（インデクス情報の取得ユティリティ）が取得できる情報名

情報名

内容

Index Type

インデクス種別。使用するインデクス種別によって，表示内容が異なります。次の機能を使用した場合だけ表示します。

通常のインデクス使用時

・インデクス作成ルール追加機能："ALL"または"MEDIUM"

・英文インデクス："ENGLISH"または"ENGLISH_STANDARD"

検索高速化インデクス（V2）機能使用時

・インデクス作成ルール追加機能："ALL V2"または"MEDIUM V2"

・英文インデクス："ENGLISH V2"または"ENGLISH_STANDARD V2"

なお，検索高速化インデクス（V2）機能使用時は，次の情報も出力されます。

インデクス作成ルール追加機能を使用しない場合："STANDARD V2"

Unicode Type

Unicode種別。文字コード種別がutf-8の場合だけ表示します。表示内容は「UCS4」です。

RD Area Size

RDエリア容量

Index File Using Size

ファイル使用容量

Free Size of Index File

インデクス空き容量および空き容量率

Available Work Area Size

使用可能ワーク領域サイズ

Same Case

大小文字統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Wide

全角文字半角文字統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Youon

拗音統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Dakuon

濁音統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Kana

ひらがなカタカナ統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Exp

カタカナ異表記統一指定。文字統一機能を指定した場合だけ「ON」または「OFF」を表示します。

Same Rule

統制ルール指定。文字統一機能を指定した場合だけ「ON」，「ON(2)」または「OFF」を表示します。

SAMERULE2を指定している場合は，「ON(2)」を表示します。

Delete Character

削除文字指定

指定あり

ONを表示します。

指定なし

OFFを表示します。全文インデクスの場合だけ表示します。

IVS Mode

IVS対応機能を使用した場合だけ，指定値を表示します。

Number of Term

トライノード数

Number of Term for Increment※

インクリメント対象トライノード数

Index Size for Increment※

余剰インデクス容量

Specified File Size for Sub Index※

保守情報

Sub Index File Using Size※

保守情報

Number of Documents for Index

登録XMLデータ数

Number of Documents for Sub-Index※

保守情報

Ratio of Condensable Documents※

詰め替え可能XMLデータ率。登録XMLデータ数に対する詰め替え可能XMLデータ数の割合。

Ratio of Condensed Index※

詰め替え作業率。トライノード数に対する詰め替え済みノード数の割合。

Number of No Condensed Index※

詰め替え未実施インデクス数

Delay Status

インデクス分割遅延作成状態。インデクス定義のインデクス作成方法指定の定義値を表示します。

Number of Documents for Unfinished-Index

インデクス未登録XMLデータ数。CREATE INDEX実行時のプラグインオプションに初期分割登録，または分割遅延登録を定義しない場合には，常に0を表示します。

With Table Scan

テーブルスキャン併用検索使用容量および指定容量。CREATE INDEXのプラグインオプションにWITH_TABLE_SCANを指定した場合だけ表示します。

Size of Delay File（Using ratio）

インデクス分割遅延作成用ファイル容量および使用率

注※

検索高速化インデクス（V2）機能を使用した場合は出力されません。

通常のインデクスを指定した場合の実行例を次に示します。

(09-04) 2013-06-06 16:54:23

Unicode Type                                      UCS4
RD Area Size                                     90000 Segments
Index File Using Size                              643 Segments
Free Size of Index File                            155 Segments( 96.88 %)
Available Work Area Size                         83871 Segments
Same Case                                           ON
Same Wide                                          OFF
Same Youon                                         OFF
Same Dakuon                                        OFF
Same Kana                                          OFF
Same Exp                                            ON
Same Rule                                           ON
Delete Character                                   OFF
Number of Term                                   92371
Number of Term for Increment                         0
Index Size for Increment                             0 Segments
Specified File Size for Sub Index                    0 Segments
Sub Index File Using Size                            0 Segments
Number of Documents for Index                      712
Number of Documents for Sub-Index                    0
Ratio of Condensable Documents                   12.00 %
Ratio of Condensed Index                          0.00 %
Number of No Condensed Index                         0 Segments
Delay Status                              CREATEMODE=2
Number of Documents for Unfinished-Index            15
Size of Delay File                               12832 (  5 %)

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjidxls -d インデクス識別子 -r RDエリア名 [-w 同時実行指定] [-q 世代番号]

(4)　コマンド引数

-d インデクス識別子：

インデクス情報取得対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-r RDエリア名：

指定されたインデクスが存在するRDエリア名を指定します。

UNIXの場合

RDエリア名を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

RDエリア名を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。

-w 同時実行指定：

インデクス情報の取得ユティリティと検索処理を同時に実行するかどうかを指定します。

省略時は「wait」が設定されます。

wait

同時実行しません。

nowait

同時実行します。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0

オリジナルRDエリアを対象とします。

1〜10

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

同時実行指定で「wait」を指定した場合，対象処理となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。同時実行指定で「nowait」を指定した場合は，サーバ側定義が同時実行である場合に有効です。サーバ側定義が同時実行となっていない場合は，同時実行にはなりません。

3.2.5　phjincmt（インデクスのインクリメンタル（最適化）ユティリティ）

(1)　機能

IXXML型をインクリメンタル（最適化）します。インクリメンタルは，容量が大きいため検索に時間が掛かるインデクスに対して，そのインデクスのキー（n-gram）の文字数を増やし，容量の小さなインデクスを作成することで検索性能を向上させる処理です。

インクリメンタル処理は，RDエリア名単位で指定します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjincmt -d インデクス識別子 -r RDエリア名 [-l ログ取得方式] [-t インクリメンタル実行時間] [-q 世代番号]

(4)　コマンド引数

-d インデクス識別子：

インクリメンタル対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-r RDエリア名：

指定されたインデクスが存在するRDエリア名を指定します。

UNIXの場合

RDエリア名を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

RDエリア名を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。

-l ログ取得方式：

インクリメンタル処理でのログ取得方式を指定します。

省略時は「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インクリメンタル処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。インクリメンタル処理前およびインクリメンタル処理後にバックアップを取得する必要があります。

-t インクリメンタル実行時間：

インデクスのインクリメンタルユティリティの実行時間を分単位で指定します。

実行時間は半角数字で0〜6,000の間で15分単位で指定してください。15の倍数でない値が指定された場合は，15分単位で切り上げられます。

実行時間に0を指定した場合，またはこのオペランドを省略した場合，インクリメンタル処理が完了するまで処理を続けます。

指定した実行時間でインクリメンタル処理が完了しなかった場合，ユティリティが指定時間を過ぎて終了した旨のメッセージを出力します。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0：

オリジナルRDエリアを対象とします。

1〜10：

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

インクリメンタル実行時間を指定して，インデクスのインクリメンタルユティリティを実行した場合，インクリメント対象トライノード数，および余剰インデクス容量が0になるまでこのユティリティを実行してください。

インクリメント対象トライノード数，および余剰インデクス容量は，インデクス情報の取得ユティリティで確認してください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

インデクス未登録状態の文書は，インクリメンタルの対象外となります。インクリメンタルユティリティ実行後，インデクス作成開始ユティリティを使用した場合，必要に応じて文字数の多いインデクスを自動的に作成します。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

このユティリティ実行中は，処理対象となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。

インクリメンタル実行時間を指定した場合，指定時間と実際の処理時間との間に多少のずれが生じることがあります。

インクリメンタル実行時間を指定した場合，指定時間を過ぎてインクリメンタル処理を中断して終了したときは，メッセージログに「02001-I phjincmt is Time Out.」のメッセージを出力します。インクリメンタル処理を完了して終了したときは「02003-I phjincmt command ended.」のメッセージを出力します。

このユティリティは，英文検索機能のインデクスでは使用できません。

UCS4インデクスの場合は，処理を行わないで正常終了します。

3.2.6　phjincrword（文字列指定インクリメンタルユティリティ）

(1)　機能

このユティリティは，検索高速化インデクス（V2）機能を使用した場合だけ指定できます。

一つのn-gramタームにインクリメンタル（最適化）して隣接照合をなくすことができるため，隣接照合で時間の掛かる検索を高速に行えます。任意の文字列が指定できるので，検索頻度が高い文字列だけをインクリメンタルできます。そのため，インデクスサイズの増加を最小限にすることができ，性能向上が見込めます。なお，このユティリティを使用する場合は，文字統一指定を定義することをお勧めします。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjincrword -d インデクス識別子 [-l ログ取得方式] [-q 世代番号] [-t インクリメンタル実行時間] [-w 同時実行指定] -f インクリメンタル対象定義ファイル名

(4)　コマンド引数

-d インデクス識別子

インクリメンタル対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-l ログ取得方式

インクリメンタル処理でのログ取得方式を指定します。

省略時は，「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インクリメンタル処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。インクリメンタル処理前およびインクリメンタル処理後にバックアップを取得する必要があります。

-q 世代番号

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0：

オリジナルRDエリアを対象とします。

1〜10：

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

-t インクリメンタル実行時間

インデクスのインクリメンタルユティリティの実行時間を分単位で指定します。

実行時間は半角数字で0〜6,000の間で15分単位で指定してください。15の倍数でない値が指定された場合は，15分単位で切り上げられます。

実行時間に0を指定した場合，またはこのオペランドを省略した場合，インクリメンタル処理が完了するまで処理を続けます。

指定した実行時間でインクリメンタル処理が完了しなかった場合，ユティリティが指定時間を過ぎて終了した旨のメッセージを出力します。

時間指定で停止した際にインクリメンタルできなかった残りの文字列をインクリメンタルしたい場合は，最初に指定したファイルを再度指定して実行してください。インクリメンタル済みの文字列は処理が省略されます。

-w 同時実行指定

このユティリティと検索処理を同時に実行するかどうか，またはこのユティリティと分割遅延登録を同時に実行するかどうかを指定します。省略時は，「wait」が設定されます。

wait：

同時実行しません。

nowait：

登録・検索を同時実行します。

nowait_with_update：

登録・検索同時実行に加えて，分割遅延登録・更新系SQLを同時実行します。

-f インクリメンタル対象定義ファイル名

インクリメンタルする文字列を記述したファイル名を絶対パスで指定します。

(5)　インクリメンタル対象定義ファイル

インクリメンタル対象定義ファイルの規則および使用できる文字について説明します。

インクリメンタル対象定義ファイル規則

改行区切りでインクリメンタルする文字列を指定してください。

改行区切りは，WindowsではCR+LF（0x0d+0x0a）かLF（0x0a），UNIXではLFです。

1行は253バイト（改行コード含む）以内にしてください。

文字列前後の空白文字（全角スペースおよび半角スペース）は無視されます。次に例を示します。△は半角スペースです。

（例）「△△日立製作所△△」は「日立製作所」となります。

空行（空白文字だけの行）は無視されます。

タブコード（0x09）は指定できません。指定した場合はエラーとなります。

20文字以上の文字列を指定した場合は先頭20文字を対象にインクリメンタルされます。次に例を示します。△は半角スペースです。

（例1）「abcdefghijklmnopqrstuvwxyz」は「abcdefghijklmnopqrst」となります。

（例2）「abcde△△△△△△△△△△△△△△△△△△△fgh」は「abcde」となります。

指定可能なファイルの最大サイズは10MBです。

対象のインデクスに文字統一指定がされている場合は，インクリメンタルする文字列を，文字統一後の文字列でインクリメンタルします。

指定した文字列のインクリメンタル後のインデクスが存在する場合はその文字列は無視されます。

インクリメンタル対象定義ファイルで使用できる文字

HiRDBの文字コード種別によって，使用できる文字が異なります。文字コード種別ごとに表に示します。

なお，コードポイントU+00010000〜U+7FFFFFFFを含む文字列は使用できません。また，DELcode=ONを指定している場合，削除文字を無視して登録します。削除文字だけの文字列は登録されません。

（例）「日立製。作所」を指定した場合「日立製作所」で登録されます。

表3‒4　HiRDBの文字コード種別がSHIFT-JISの場合

文字コード

配置

1バイト目

2バイトコードの2バイト目

1バイト文字コード

0x20〜0x7E

0xA1〜0xDF

−

2バイト文字コード

0x81〜0x9F

0xE0〜0xFC

0x40〜0x7E

0x80〜0xFC

（凡例）

−：該当しません。

表3‒5　HiRDBの文字コード種別がEUCの場合

文字コード

配置

1バイト目

2バイトコードの2バイト目

1バイト文字コード

0x20〜0x7E

−

2バイト文字コード

0x8E

0xA1〜0xDF

0xA1〜0xFE

0xA1〜0xFE

（凡例）

−：該当しません。

表3‒6　HiRDBの文字コード種別がUTF-8の場合

コードポイント

1バイト目

2バイト目

3バイト目

U+00000009，

U+00000020〜U+0000007E

20〜7E

−

−

U+00000080〜U+000007FF

C280〜DFBF

−

U+00000800〜U+0000FFFF

E0A080〜EFBFBF

（凡例）

−：該当しません。

注

表内の文字コード表現は16進数です。

(6)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(7)　注意事項

同時実行指定で「wait」を指定した場合，対象処理となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。同時実行指定で「nowait」を指定した場合は，サーバ側定義が同時実行であるときにだけ有効です。

時間指定実行で指定した時間と実際のコマンド終了時間とは多少のずれが生じることがあります。

このユティリティは，英文検索用インデクスでは使用できません。

3.2.7　phjexpnd（インデクスの拡張ユティリティ）

(1)　機能

インデクスファイルをRDエリアの空き領域に応じて作成し，インデクス全体のサイズを拡張します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjexpnd -d インデクス識別子 -r RDエリア名 [-l ログ取得方式] [-q 世代番号]

(4)　コマンド引数

-d インデクス識別子：

拡張対象のインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-r RDエリア名：

指定されたインデクスがあるRDエリア名を指定します。

UNIXの場合

RDエリア名を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

RDエリア名を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。

-l ログ取得方式：

インデクス拡張処理でのログ取得方式を指定します。

省略時は「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インデクス拡張処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。インデクス拡張処理前およびインデクス拡張処理後にバックアップを取得する必要があります。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0：

オリジナルRDエリアを対象とします。

1〜10：

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

このユティリティ実行中は，処理対象となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。

このユティリティを実行するとインデクス情報の取得ユティリティで"Available Work Area Size"に表示される領域を次のサイズ分，割り当てます。

英文検索機能のインデクスの場合

拡張後RDエリアサイズの20％

英文検索機能以外のインデクスの場合

拡張後RDエリアサイズの5％

そのため，RDエリア拡張前の"Available Work Area Size"＋拡張サイズ（またはRDエリア拡張後の"Available Work Area Size"）が上記のサイズより小さいときは，インデクス領域を拡張できません。

3.2.8　phjstartidx（インデクス作成開始ユティリティ）

(1)　機能

インデクス作成方法に初期分割登録，または分割遅延登録を指定して作成したインデクスに対して，インデクス未登録状態のXMLデータをインデクスに登録します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjstartidx -d インデクス識別子 [-t インデクス作成実行時間] [-l ログ取得方式] [-c 登録件数] [-w 同時実行指定] [-q 世代番号]

(4)　コマンド引数

-d インデクス識別子：

インデクス登録対象となるインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-t インデクス作成実行時間：

インデクス作成開始ユティリティの実行時間を分単位で指定します。

指定範囲は，0〜6,000となります。0を指定した場合，またはこのオペランドの指定を省略した場合は，時間では制限されません。指定を省略した場合は，実行の可否を問い合わせるメッセージを表示します。

なお，分割遅延登録・更新系SQL同時実行機能を利用する場合，このオプションは指定できません。

-l ログ取得方式：

インデクス登録処理でのログ取得方式を指定します。

省略時は「p」が設定されます。分割遅延登録・更新系SQL同時実行機能を利用する場合は，「a」または「p」を指定してください。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。

インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。

インデクス登録処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。

インデクス登録処理前およびインデクス登録処理後にバックアップを取得する必要があります。

-c 登録件数：

インデクス作成をする件数を，1〜2,147,483,646の範囲で指定します。

指定を省略した場合は，登録件数では制限されません。

-w 同時実行指定：

このユティリティと検索処理を同時に実行するかどうか，またはこのユティリティと遅延登録を同時に実行するかどうかを指定します。

省略時は「wait」が設定されます。

wait

同時実行しません。

nowait

登録・検索を同時実行します。

nowait_with_update

登録・検索同時実行に加えて，分割遅延登録・更新系SQLを同時実行します。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0：

オリジナルRDエリアを対象とします。

1〜10：

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

インデクス未登録状態のXMLデータが存在しないインデクスに対して，このユティリティを実行しても，無効となり正常終了します。

インデクス作成実行時間を指定してインデクス作成開始ユティリティを実行した場合，インデクス未登録状態のXMLデータ数が0になるまでこのユティリティを実行してください。

インデクス未登録XMLデータ数は，インデクス情報の取得ユティリティで確認してください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

-tオプション，-cオプションの指定を省略した場合は，実行の可否を確認するメッセージを表示します。

インデクス作成開始ユティリティは，データの整合性を確保するため，インデクス作成実行時間に指定した時間が経過しても，終了しない場合があります。この場合は，データの整合性を確保できた時点で終了します。インデクス作成実行時間が経過してからユティリティが終了するまでの時間は，IXXMLインデクス型プラグインの環境定義ファイルに指定した一括登録時最大メモリ所要量とディスク性能に依存します。

インデクス作成実行時間を指定した場合，指定時間を過ぎてインデクス作成処理を中断して終了した場合は，メッセージログに「02001-I phjstartidx is Time Out.」のメッセージを出力します。インデクス作成処理を完了して終了した場合は，「02003-I phjstartidx command ended.」のメッセージを出力します。

-tオプションのインデクス実行時間と-cオプションの登録件数を指定した場合，どちらかの条件が成立した時点で登録処理を終了します。

同時実行指定で「wait」を指定した場合，対象処理となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。同時実行指定で「nowait」を指定した場合は，サーバ側定義が同時実行である場合に有効です。サーバ側定義が同時実行となっていない場合は，同時実行とはなりません。

分割した表のインデクスに対し，-cオプションを指定してインデクスを作成する場合，指定したXMLデータ数のインデクスを分割した表ごとに作成します。

インデクス作成開始ユティリティは，登録要求件数分の行に対して参照できる共用排他を実行します。このため，分割遅延登録・更新系SQL同時実行を指定してこのユティリティを実行する場合は，排他ができるように排他資源を確保してください。

-wオプションにnowait_with_updateを指定し，さらに-tオプションを指定した場合，メッセージログに「62014-E Option argument invalid. option=xx」のメッセージを出力します。

使用しているHiRDBのバージョンが，この製品が前提としているHiRDBのバージョンと不一致の場合は，エラーメッセージ「KFPL28000-E Internal error occurred」が出力され，異常終了します。

一回の検索中に同時実行を指定したこのユティリティを二回以上実行した場合，検索で「Fail to lock Index File.」のエラーが発生することがあります。この場合は，検索を再実行してください。

3.2.9　phjdelay（インデクス分割遅延登録運用変更ユティリティ）

(1)　機能

インデクス作成方法に分割遅延登録を指定して作成したインデクスに対して，分割遅延登録運用開始および終了を指定します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjdelay -d インデクス識別子 -m { on|off} [-l ログ取得方式] [-f] [-q 世代番号]

(4)　コマンド引数

-ｄ インデクス識別子：

分割遅延登録運用方法を変更するインデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-m：

on

インデクス分割遅延登録運用を開始します。

off

インデクス分割遅延登録運用を終了します。

-l ログ取得方式：

分割遅延登録運用方法変更処理でのログ取得方式を指定します。

省略時は「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。分割遅延登録運用方法変更処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。分割遅延登録運用方法変更処理前および分割遅延登録運用方法変更処理後にバックアップを取得する必要があります。

-f：

応答メッセージを出力しないで実行する場合に指定します。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0：

オリジナルRDエリアを対象とします。

1〜10：

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

このユティリティ実行中は，処理対象となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。

分割遅延登録運用の終了が指定された場合，すべての未反映XMLデータを登録します。その際，時間／件数による中断はできないので，分割遅延登録運用の終了以前にインデクス作成開始ユティリティを使用して登録処理を完了させておいてください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。また，分割遅延登録運用の終了実行時には，応答のメッセージを出力します。-fオプションが指定された場合は，応答のメッセージを出力しません。

分割遅延登録用でないインデクスに対して，このユティリティを実行しても無効となります（エラーになりません。正常終了します）。

3.2.10　phjmodidx（インデクス情報変更ユティリティ）

(1)　機能

作成済みのインデクスに対して定義を変更します。インデクス分割遅延作成ができるインデクスへ移行できます。また，インデクス分割遅延作成用ファイルサイズを拡張できます。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjmodidx -d インデクス識別子 -v 変更項目 [-l ログ取得方式] [-q 世代番号]

(4)　コマンド引数

-ｄ インデクス識別子：

インデクス情報変更の対象となる，インデクス識別子を指定します。必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-v 変更項目：

変更するインデクス定義項目を，次の形式で指定します。

DELAY_SIZE=インデクス分割遅延登録用領域サイズ

サイズは，2,608〜129,584キロバイトの範囲で指定してください。

新規に移行する際には，指定されたサイズでファイルを作成します。すでにファイルがある場合は，指定されたサイズまでファイルを拡張します。最小拡張単位は2,048キロバイトです。端数は切り捨てられます。また，拡張回数の上限は62回です。

-l ログ取得方式：

インデクス情報変更処理でのログ取得方式を指定します。

省略時は「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インデクス情報変更処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。インデクス情報変更処理前およびインデクス情報変更処理後にバックアップを取得する必要があります。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0

オリジナルRDエリアを対象とします。

1〜10

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

このユティリティ実行中は，処理対象となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。

このユティリティは，インデクス分割遅延作成用ファイルを作成または拡張します。そのまま実行すると，RDエリア不足が発生することがあります。その場合，作成または拡張するサイズ分のRDエリアを，あらかじめ追加することをお勧めします。

このユティリティで分割遅延作成できるインデクスへ移行しても，分割遅延登録運用の開始／終了状態は変更されません。運用方法を変更する場合は，別途インデクス分割遅延登録運用変更ユティリティを実行する必要があります。インデクス分割遅延登録運用変更ユティリティの詳細については，「3.2.9　phjdelay（インデクス分割遅延登録運用変更ユティリティ）」を参照してください。また現在の運用方法はインデクス情報の取得ユティリティの「Delay Status（インデクス分割遅延作成状態）」で確認できます。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

分割遅延登録・更新系SQL同時実行を使用している場合は，実行できません。

インデクスの再初期化を行った場合，このユティリティでの移行情報は無効になり，はじめにインデクスを定義した状態に戻ります。

3.2.11　phjcond（インデクス詰め替えユティリティ）

(1)　機能

不要なインデクスを削除します。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phjcond -d インデクス識別子 -r RDエリア名 [-l ログ取得方式] [-t 詰め替え時間] [-q 世代番号]

(4)　コマンド引数

-ｄ インデクス識別子：

詰め替え対象となるインデクス識別子を指定します。

必ずインデクス作成時に指定したインデクス識別子を指定してください。

UNIXの場合

インデクス識別子を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

インデクス識別子を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，インデクス識別子にスペースが含まれる場合は，「"」で囲む必要があります。

-r RDエリア名：

指定されたインデクスがあるRDエリア名を指定します。

UNIXの場合

RDエリア名を「"」（ダブルクォーテーション）で囲んだ場合は，英大文字と英小文字が区別されます。「"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。なお，sh，cshおよびkshの場合は，さらに「'」（アポストロフィ）で囲む必要があります。

Windowsの場合

RDエリア名を「¥"」で囲んだ場合は，英大文字と英小文字が区別されます。「¥"」で囲まない場合はすべて大文字として扱われます。また，RDエリア名にスペースが含まれる場合は，「"」で囲む必要があります。

-l ログ取得方式：

インデクス詰め替え処理でのログ取得方式を指定します。

省略時は「p」が設定されます。

a：

ログ取得モードで実行します。

ロールバックおよびロールフォワードに必要なデータベース更新ログを取得します。インデクスのバックアップを取得する必要はありません。

p：

更新前ログ取得モードで実行します。

ロールバックに必要なデータベース更新ログを取得します。インデクス詰め替え処理後，バックアップを取得する必要があります。

n：

ログレスモードで実行します。

データベース更新ログを取得しません。インデクス詰め替え処理前およびインデクス詰め替え処理後にバックアップを取得する必要があります。

-ｔ 詰め替え時間：

インデクス詰め替えユティリティの実行時間を分単位で指定します。

実行時間は半角数字で0〜6,000の間で15分単位で指定してください。15の倍数でない値が指定された場合は，15分単位で切り上げられます。

実行時間に0を指定した場合，またはこのオペランドを省略した場合，詰め替え処理が完了するまで処理を続けます。

指定した実行時間で詰め替え処理が完了しなかった場合，ユティリティが指定時間を過ぎて終了した旨のメッセージを出力します。

-q 世代番号：

Staticizer Optionのインナレプリカ機能を使用する場合，処理対象とするRDエリアを0〜10の世代番号で指定します。指定を省略した場合は，カレントRDエリアが仮定されます。

0

オリジナルRDエリアを対象とします。

1〜10

指定した世代番号のRDエリアを対象とします。

このオペランドは，Staticizer Optionがインストールされていない場合は指定できません。

なお，インナレプリカ機能については，マニュアル「インナレプリカ機能 HiRDB Staticizer Option」を参照してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

詰め替え処理は，1回の処理ですべてのインデクスを処理できないことがあります。このため，詰め替え実施後，インデクス情報の取得ユティリティで未実施インデクス数（Number of No Condensed Index）を確認してください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。この値が大きいときは，インデクス空き容量に注意して，再度詰め替えを実行してください。

このユティリティは，インデクス空き容量がある状態（推奨10%以上）で実行する必要があります。空きのない状態でユティリティを実行したとき，または詰め替え未実施インデクス数（Number of No Condensed Index）が減らない場合は，新たにRDエリアを追加してインデクスの拡張ユティリティを使用し，空き容量がある状態で実行してください。インデクスの拡張ユティリティの詳細については，「3.2.7　phjexpnd（インデクスの拡張ユティリティ）」を参照してください。空き容量は，インデクス情報の取得ユティリティのFree Size of Index Fileで確認してください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

詰め替え実行時間を指定した場合，指定時間と実際の処理時間との間に多少のずれが生じることがあります。

XMLデータを削除すると，詰め替え可能XMLデータ率は増加します。このため，詰め替え中断時にXMLデータを削除すると，詰め替え処理完了後でも詰め替え可能XMLデータ率は0になりません。

このユティリティ実行中は，処理対象となるRDエリアに対して排他モード（EX）による排他制御をするので，ほかのトランザクションと同時に実行できません。

詰め替えを実行する契機の指標として，インデクス情報の取得ユティリティの「Ratio of Condensable Documents（詰め替え可能XMLデータ率）」が，50％以上を目安としてください。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

インデクス情報の取得ユティリティの「Ratio of Condensed Index（詰め替え作業率）」は，詰め替え処理が制限時間で終了したときの詰め替え作業進ちょく率を表します。インデクス情報の取得ユティリティの詳細については，「3.2.4　phjidxls（インデクス情報の取得ユティリティ）」を参照してください。

このユティリティを実行する際に，グローバルバッファを指定すると，実行性能が向上します。

詰め替え時間を指定した場合，指定時間を過ぎて詰め替え処理を中断したときは，メッセージログに「02001-I phjcond is Time Out.」のメッセージが出力されます。

詰め替え処理を完了して終了した場合は，「02003-I phjcond command ended」のメッセージが出力されます。

3.2.12　phdsyndicconv（同義語辞書移行ユティリティ）

(1)　機能

同義語辞書をバージョン09-02以降のXML Extensionの形式に移行します。次に示す条件をすべて満たす場合は，同義語辞書移行ユティリティを実行して同義語辞書を09-02以降のバージョン形式に移行してください。

バージョン09-02より前のXML Extensionで作成した同義語辞書を使用する場合

次のどれかの機能を使用する場合

大小文字・全角文字半角文字統一機能

拗音統一機能

濁音統一機能

統制ルール指定機能

ひらがなカタカナ統一機能

カタカナ異表記統一機能

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phdsyndicconv 同義語辞書名 [-r ルールファイル名 [-e]]

(4)　コマンド引数

同義語辞書名：

移行する同義語辞書名を指定します。登録されている同義語辞書名を指定してください。

-r

ルールファイル名を指定します。ルールファイル名には，CREATE INDEXで指定したルールファイル名と同じファイル名を指定してください。SAMERULE2のインデクスを使用する場合，-eオプションを指定してください。

(5)　規則

このユティリティは，HiRDBが稼働中のときだけ実行できます。

(6)　注意事項

同義語辞書を移行する場合は，XMLデータ型プラグインを登録してあるすべての同義語辞書を移行してください。

3.2.13　phdrulecheck（統制ルールチェックユティリティ）

(1)　機能

統制ルール指定機能に使用するルールファイルのフォーマットをチェックします。

(2)　実行者

HiRDB管理者が実行できます。

(3)　形式

phdrulecheck -f ルールファイル名 [-c {sjis｜euc｜utf-8}]

(4)　コマンド引数

-f ルールファイル名

チェック対象のルールファイル名を指定します。指定するファイルは，あらかじめidx_defディレクトリに作成しておいてください。

-c {sjis｜euc｜utf-8}

チェック対象のルールファイルの文字コード種別を指定します。

sjis：

Shift-JIS

euc：

EUC

utf-8：

utf-8

4　XMLデータの操作

この章では，文書または文字列データを操作するためにXML Extensionが提供している抽象データ型関数の使用方法および文法について説明します。

4.1　抽象データ型関数の操作

この節では，XML Extensionが提供する抽象データ型関数の操作について説明します。

4.1.1　抽象データ型関数を使用したXMLデータの操作

XML Extensionの抽象データ型関数とは，XML Extensionが提供する全文検索機能を利用するためのインタフェース関数です。

ここでは，XML Extensionの提供する抽象データ型関数の操作について説明します。

(1)　抽象データ型関数の種類

XML型のデータ（文書）に対するインタフェースとして，次の2種類の抽象データ型関数を提供しています。

データ出力用の抽象データ型関数

全文検索用の抽象データ型関数

抽象データ型関数をSQL文中に記述することで，XML型のデータ（文書）にアクセスできます。SQLの記述形式については，マニュアル「HiRDB SQLリファレンス」を参照してください。

(2)　XML Extensionが提供する抽象データ型関数の一覧

XML Extensionが提供する抽象データ型関数の一覧を次の表に示します。

表4‒1　XML Extensionの抽象データ型関数一覧

用途

関数名

機能

データ

出力用

extracts

登録した文書データを出力します。出力する形式には，次の2種類あります。

ESIS-B出力

XML出力

全文検索用

contains

全文検索条件式に一致する文書データを検索します。全文検索条件式には，次の6種類あります。

単純文字列指定

異表記展開指定

同義語展開指定

近傍条件指定

AND/OR論理条件

構造名指定による検索範囲の指定

contains_with_score

全文検索条件式に一致する文書データを検索します。

score

contains_with_score関数で検索した文書のスコア値を取得します。検索条件に一致した文書ほどスコア値が高くなります。

4.1.2　XQueryを使用した全文検索機能の利用

XQueryをSQL文中に記述することで，全文検索機能を利用できます。SQL，およびXQueryの記述形式については，マニュアル「HiRDB SQLリファレンス」を参照してください。

全文検索機能を利用できるXQuery述語を次に示します。

表4‒2　全文検索機能を利用できるXQuery述語

述語

機能

fn:contains

第二引数に文字列を指定して検索します。

fn:starts-with

第二引数に指定した文字列が構造の先頭に一致するか検索します。

fn:ends-with

第二引数に指定した文字列が構造の末尾に一致するか検索します。

文字列（xs:string型）同士の完全一致（=）

指定した文字列が構造の先頭と末尾に一致するか検索します。

hi-fn:containts

第二引数にテキスト検索条件を指定して検索します。※

注※　テキスト検索条件の記述形式については「4.3.4　テキスト検索条件の指定」を参照してください。

4.1.3　XQuery変換式を使用したXMLデータの部分更新

XQuery変換式をSQL文中に記述することで，XML型列に登録したXMLデータを部分的に更新できます。SQLおよびXQuery変換式の記述形式については，マニュアル「HiRDB SQLリファレンス」を参照してください。

(1)　テキストの正規化

XQuery変換式を使用して追加，変更されたテキストノードのテキストと，処理命令ノードの処理命令値は正規化されます。改行コードは次に示すように扱われます。

テキストノード

先頭および末尾の空白文字と改行コードは除去されます。

テキストノード内の改行コードは，すべてLF（0x0a）に置き換えられます。

空白文字と改行コードが連続する文字列は，それぞれ出現順に一つにまとめられます。

一つのXQuery変換式内で，xml:space="preserve"属性を追加，更新した場合は，その属性を追加した要素の下位に追加したテキストノードは正規化しません。XML作成時や別のXQuery変換式で追加したxml:space="preserve"属性は無視されます。

一つのXQuery変換式内で，xml:space="preserve"属性を指定した要素よりも下位の要素にxml:space="default"属性を追加，更新した場合，xml:space="default"属性を追加した要素の，下位に追加したテキストノードを正規化します。

処理命令ノード

先頭および末尾の空白文字と改行コードは除去されます。

(2)　エラーチェック

XQuery変換式を使用したXMLデータの部分更新では，新しく追加，更新するXMLノードおよびノードの削除・名前変更で発生するXMLデータのエラーをチェックします。XQuery変換式を使用したXMLデータの部分更新では，複数の更新をSQLに記述して一度に更新できます。複数指定した場合は，一つのESIS-B形式データに対して順番に更新します。しかし，エラーチェックは一つの更新ごとに行われるため，エラーが発生した時点でXQuery変換式はエラー終了します。エラーが発生した場合は，メッセージを出力します。

4.2　抽象データ型関数の文法

この節では，XML Extensionの抽象データ型関数の詳細について説明します。なお，全文検索用関数で指定する全文検索条件式の文法の詳細については，「4.3　全文検索条件式の文法」を参照してください。

4.2.1　contains

(1)　機能

全文検索条件式に一致する文書データを検索します。

(2)　書式

contains（列指定，全文検索条件式）

(3)　入力

列指定

全文検索条件式（varchar）（最大32,000バイト）

(4)　戻り値

常にTRUE

(5)　詳細

列指定には，全文検索をするXML型の列名を指定します。

全文検索条件式には，検索する条件として検索対象の文書構造名，検索タームなどを指定した条件式（varchar）を指定します。

contains関数はインデクスと協調して動作する検索述語であり，contains関数使用時にIXXMLインデクス型プラグインが使用できない状態の場合には，エラーとなります。IXXMLインデクス型プラグイン専用関数の実行方法に関する規則については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

(6)　SQL文の例

表「reports」のXML型の列「doc」の「概要」部分に文字列「COMPUTER」を含む文書の件数を調べる（文書の最上位構造は「文章」）。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[概要{"COMPUTER"}]' ) IS TRUE

(7)　注意事項

全文検索条件式には，複数の条件を「AND」，または「OR」で指定できます。

4.2.2　contains_with_score

(1)　機能

全文検索条件式に一致する文書データを検索します。また，同時にスコア値の計算をします。

(2)　書式

contains_with_score（列指定，全文検索条件式）

(3)　入力

列指定

全文検索条件式（varchar）（最大32,000バイト）

(4)　戻り値

常にTRUE

(5)　詳細

列指定には全文検索をするXML型の列名を指定します。

全文検索条件式には，検索する条件として検索対象の文書構造名，検索タームなどを指定した条件式（varchar）を指定します。

contains_with_score関数は，インデクスと協調して動作する検索述語です。contains_with_score関数使用時にIXXMLインデクス型プラグインが使用できない状態の場合には，エラーとなります。

contains_with_score関数はスコア値を算出し，score関数に値を受け渡す関数です（受け渡し値送信関数）。スコア値は，score関数で受け取ります（受け渡し値受信関数）。インデクス型プラグイン専用関数および受け渡し値送受信関数の実行方法に関する規則については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

(6)　SQL文の例

表「reports」のXML型の列「doc」の「概要」部分に文字列「COMPUTER」を含む文書をスコア値順にソートし，スコア値，タイトルを格納する一覧表を作成する（文書の最上位構造は「文章」）。

SELECT score(doc), title FROM reports
  WHERE contains_with_score(doc, '文章[概要{"COMPUTER"}]' ) IS TRUE
                            ORDER BY 1 DESC

(7)　注意事項

全文検索条件式には，複数の条件を「AND」，「OR」で指定できます。

4.2.3　score

(1)　機能

スコア値（contains_with_score関数の結果として得られるスコア値）を返却します。

(2)　書式

score（列指定）

(3)　入力

列指定

(4)　戻り値

スコア値（INTEGER）

(5)　詳細

contains_with_score関数と一緒に使用します。

列指定はcontains_with_score関数で検索する対象と同じ列名を指定します。score関数を使用するSELECTでは，必ずWHERE探索条件にscore関数と同じ列名を指定したcontains_with_score関数を使用します。検索結果をスコア順にソートして，スコアの得点の高いものから取り出す場合には，ORDER BYを使用してください。

score関数は受け渡し値受信関数であり，contains_with_score関数から値を受け取ります。受け渡し値受信関数の実行方法に関する規則については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

(6)　スコア値

1文書のスコア値は，「検索タームの文書内での出現数 × 検索タームの重み × 構造の重み」で算出されます。ただし，検索条件式に論理検索や近傍検索を使用している場合は，次のようになります。

論理検索の場合

論理積（AND）のときは，各スコアの最小値を取ります。

論理和（OR）のときは，各スコアの最大値を取ります。

論理否定（NOT）のときは，各スコア値はナル値となります。

近傍検索の場合

近傍検索のスコアは，ヒットした検索ターム間の距離で算出します。

検索ターム間の距離が近いほどスコアが高くなります。

表4‒3　スコアの算出方法

検索条件

スコアの算出方法

算出例

論理積

（AND条件）※1

論理演算の対象を比較して，値の少ない方をスコアとする

「AおよびBが含まれる文書」を検索した結果，文書内での出現数がA>Bだった場合，Bの出現数を基にスコアが付けられる※2

論理和

（OR条件）※1

論理演算の対象を比較して，値の多い方をスコアとする

「AまたはBが含まれる文書」を検索した結果，文書内での出現数がA>Bだった場合，Aの出現数を基にスコアが付けられる※2

近傍条件

=

指定した距離とヒットした距離が等しい場合は100が与えられる

「AB間の距離が10文字ちょうどの文書」を検索した結果，文書内でのAとBの距離が10であれば100が与えられる

<=

ヒットした距離が0に近いほど100に近づく。指定した距離と同じ場合は1が与えられる

「AB間の距離が10文字以下の文書」を検索した結果，文書内でのAとBの距離が0ならば100が与えられる。10以下の値は，10に近いほど低い値が与えられる

>=

指定した距離とヒットした距離が等しい場合は100が与えられる。遠ざかるほど低くなる

「AB間の距離が10文字以上の文書」を検索した結果，文書内でのAとBの距離が10ならば100が与えられる。10を超える値は，10から遠くなるほど低いスコアが与えられる

注※1

検索ターム同士および検索条件式同士の論理演算が含まれます。

注※2

ここでの算出方法は，検索条件式の構造に重みが付けられていないことが前提です。構造に重みが付けられている場合は，「距離から算出したスコア×構造の重み」で算出されます。なお，近傍検索では検索タームに付けられた重みは無視されます。

4.2.4　extracts

登録した文書を出力します。出力形式には次に示す種類があります。

ESIS-B出力

XML出力

どの出力形式で出力するかは，extracts関数の引数で区別されます。

また，extracts関数を使用したSQLの前処理後（PREPARE文の発行後），DESCRIBE〔OUTPUT〕文の実行時にSQL記述領域に設定されるデータの長さは2ギガバイト（2,147,483,647バイト）です。

次に，各出力形式について説明します。

(1)　 ESIS-B出力

(a)　機能

登録した文書をESIS-Bデータ形式で出力します。

(b)　書式

extracts（列指定，ドキュメントタイプ）

(c)　入力

列指定

ドキュメントタイプ　'ESIS-B'

(d)　戻り値

テキストデータ（BINARY）

(e)　詳細

列指定にはXML型の列名を指定します。

ドキュメントタイプには「ESIS-B」を指定してください。

(f)　SQL文の例

表「reports」のXML型の列「doc」の「概要」部分に文字列「COMPUTER」を含む文書をESIS-Bデータ形式で出力する。

SELECT extracts(doc,'ESIS-B')
       FROM reports
       WHERE contains(doc, '文章[概要{"COMPUTER"}]') IS TRUE

(2)　XML出力

(a)　機能

登録した文書をXMLデータ形式で出力します。

(b)　書式

extracts（列指定，ドキュメントタイプ）

(c)　入力

列指定

ドキュメントタイプ　'XML'

(d)　戻り値

テキストデータ（BINARY）

(e)　詳細

列指定には，検索するXML型の列名を指定します。

ドキュメントタイプには「XML」を指定してください。

(f)　SQL文の例

表「reports」のXML型の列「doc」の「概要」部分に文字列「COMPUTER」を含む文書をXML形式で出力する。

SELECT extracts(doc,'XML')
       FROM reports
       WHERE contains(doc, '文章[概要{"COMPUTER"}]') IS TRUE

4.3　全文検索条件式の文法

この節では，XML型のデータ（文書）に対して使用する全文検索条件式の文法について説明します。

4.3.1　構造名を指定した検索条件のAND/OR論理条件

構造名を指定した検索条件式を構造検索パターンといいます。全文検索条件には，この構造検索パターンのAND/OR論理条件を指定できます。

全文検索条件式の形式を次の図に示します。

図4‒1　全文検索条件式の形式

注意事項

AND/OR条件，またはNOT条件を指定する場合，次の優先順位に従って演算します（左側の方が優先順位が高い）。

括弧 ＞ NOT ＞ AND ＞ OR

全文検索条件にAND条件とOR条件を同じレベルで記述し，かつOR条件を優先したい場合は，OR条件の範囲を括弧で囲んでください。

指定例

構造名「文章」の下の「概要」に文字列「NETWORK」を含む。

文章[概要{"NETWORK"}]

構造名「文章」の下の「概要」に文字列「NETWORK」を含む文書以外。

NOT(文章[概要{"NETWORK"}])

構造名「文章」の下の「概要」に文字列「COMPUTER」の同義語と「NETWORK」を含む（同義語辞書は「USR01」）。

文章[概要{SYNONYM(USR01,"COMPUTER") AND "NETWORK"}]

構造名「文章」の下の「概要」に文字列「COMPUTER」の同義語を含み，かつ，構造名「文章」の下の「本文」に文字列「NETWORK」または構造名「文章」の下の「コラム」に文字列「DOCUMENT」を含む（同義語辞書は「USR01」，OR条件を優先）。

文章[概要{SYNONYM(USR01,"COMPUTER")}] AND (文章[本文{"NETWORK"}] OR 文章[コラム{"DOCUMENT"}])

4.3.2　構造名の指定

構造検索パターンでは，検索対象とする文書要素をその構造名で指定します。また，構造指定のあとに，その文書要素内での検索条件を指定します。

構造名指定は，検索対象の構造名を文字列で指定します。

波括弧で囲まれたテキスト検索条件は，指定構造内での全文検索条件を指定する条件式です。

角括弧で構造検索パターンを囲むことで，上位の構造名指定と，指定した上位構造指定以下の構造名をさらに指定した複雑な構造指定ができます。これによって，例えば，要旨の下位構造の目的の部分で，テキスト検索条件を満たす文書を探せます。

属性を持つ構造の属性値を検索条件とする場合は，構造名指定の後ろに属性値の条件を指定します。

構造検索パターンの形式を次の図に示します。

図4‒2　構造検索パターンの形式

注意事項

構造名指定は，最上位構造名から順に指定してください。最上位構造名だけを指定した場合，または構造名指定を省略した場合には，文書に含まれるすべての構造を対象に検索します。

次のように指定した構造名が未登録の場合はヒットしません。

・指定した構造を持った文書が登録されていない場合

・指定した構造名が間違っている場合

構造名に半角スペース（0x20）は指定できません。

指定例

構造名「文章」の下の「概要」の下の「目的」に文字列「NETWORK」を含む。

文章[概要[目的{"NETWORK"}]]

4.3.3　構造名のワイルドカード指定

構造名は，次の図に示す形式でワイルドカードが指定できます。

図4‒3　構造名指定の形式

「*」は，0個以上の任意の構造階層を示します。

「？」は，1個の任意の構造階層を示します。

また，構造名指定時に，繰り返して出現する構造名の番号を指定できます。「構造名 = 」のあとに，繰り返し構造の順番を指定します。指定方法は次のとおりです。

数1

数1に示された順番を検索対象とします（順番の単独指定）。

数1-

数1以降の順番を検索対象とします（順番の開始指定）。

-数1

数1までの順番を検索対象とします（順番の最終指定）。

数1-数2

数1〜数2の順番を検索対象とします（順番の範囲指定）。

数1，数2，……

指定された数（数1，数2）の順番を検索対象とします（任意の順番指定）。

注意事項

「*」（アスタリスク），「?」（疑問符），「=」（イコール），「-」（ハイフン），「,」（コンマ）および繰り返し構造順番指定の数字は，ASCIIコードで指定します。

順番指定の範囲は1〜2,147,483,647で指定します。

順番指定での範囲指定「-」の値は，数1-数2の場合，数1＜数2の関係で指定します。数1が数2より大きい値の場合はエラーとなります。

順番指定での任意の指定「,」の値に，同じ値を指定した場合，一つの設定とします。

例えば，「数1，数2，数1」は「数1，数2」となります。

順番指定での範囲指定「-」と任意の指定「,」の混在はできません。エラーとなります。

例えば，「数1-数2，数3」はエラーとなります。

「*」は最下位に指定できません。ただし，すべての階層の属性を指定する場合は除きます。

例えば，「構造名1[*:属性名{"検索ターム"}]」はエラーとなりますが，「*:属性名{"検索ターム"}」はエラーにはなりません。

「*」直後の下位構造に「*」，「?」は指定できません。

例えば，「*[?{"検索ターム"}]」のような指定です。

指定例

構造名「文章」の下の「概要」の下の2番目の「コラム」に「NETWORK」を含む。

文章[概要[コラム=2{"NETWORK"}]]

構造名「文章」の下の「概要」以下の「コラム」に文字列「NETWORK」を含む。

文章[概要[*[コラム{"NETWORK"}]]]

構造名「文章」の下の「概要」の一つ下の階層に文字列「NETWORK」を含む。

文章[概要[?{"NETWORK"}]]

4.3.4　テキスト検索条件の指定

テキスト検索条件は，検索因子と呼ぶ条件単位のAND/OR論理条件によって構成されています。検索因子を使用して，同一の文書構造内の複雑な検索条件を指定できます。

テキスト検索条件の形式を次の図に示します。

図4‒4　テキスト検索条件の形式

注意事項

AND/OR条件，またはNOT条件を指定する場合，次の優先順位に従って演算します（左側の方が優先順位が高い）。

括弧 ＞ NOT ＞ AND ＞ OR

テキスト検索条件にAND条件とOR条件を同じレベルで記述し，かつOR条件を優先したい場合は，OR条件の範囲を括弧で囲んでください。

検索因子とは，単純文字列指定，異表記展開指定，同義語展開指定，近傍条件指定，および拡張NOT指定のどれかの検索条件からなっています。

検索因子の形式を次の図に示します。

図4‒5　検索因子の形式

指定例

文字列「COMPUTER」の同義語または「NETWORK」を含む（同義語辞書はUSR01）。

SYNONYM(USR01,"COMPUTER") OR "NETWORK"

文字列「NETWORK」を含まない。

NOT({"NETWORK"})

文字列「ログ」を検索する（ただし，プログラムおよびバックログのログは検索対象外とする）。

EXNOT("ログ","プログラム","バックログ")

4.3.5　単純文字列指定

単純文字列指定では，検索したい文字列（検索ターム）をダブルクォーテーションで囲んで指定します。

単純文字列指定の形式を次の図に示します。

図4‒6　単純文字列指定の形式

検索文字列には，ワイルドカードおよび特殊文字を指定できます。ワイルドカードおよび特殊文字は，半角で指定してください。

指定できるワイルドカードおよび特殊文字の意味を次の表に示します。

表4‒4　指定できるワイルドカードおよび特殊文字

文字

文字の意味

*

0文字以上の任意の文字列に相当します

?

任意の1文字に相当します

|

構造の先頭または末尾に一致します

¥

ワイルドカードまたは特殊文字の意味を消します

ワイルドカード指定時の注意事項

ワイルドカードを指定した場合は，同義語展開されません。

ワイルドカード指定では，検索条件によってシステムに負荷を与えるおそれがあります。

環境定義ファイルに1文字近傍検索実行可否指定（phj_1gram_proximity_search）をすることにより，負荷を与えるおそれのある条件での検索を制限（エラーリターン）できます。

指定例

「ネットワーク」と「コンピュータ」で構成される文字列。

"ネットワーク*コンピュータ"

注意事項

同一構造内で出現回数が多い文字を使用したワイルドカード検索または近傍検索を実行した場合，検索時最大ワークメモリサイズを超えてメモリを使用する場合があります。

英文の場合に指定できるワイルドカードおよび特殊文字の意味を次の表に示します。

表4‒5　指定できるワイルドカードおよび特殊文字（英文の場合）

文字

文字の意味

*

単語内の0文字以上の任意の文字列に相当します

?

単語内の任意の1文字に相当します

¥

ワイルドカードまたは特殊文字の意味を消します

ワイルドカード指定時の注意事項（英文の場合）

ワイルドカードを指定した場合は，同義語展開されません。

ワイルドカードを使用する場合は，ワイルドカード以外に3文字以上指定する必要があります。2文字以下の場合はエラーになります。

指定例

単語一致検索（「Application」で構成される文字列）

Application

前方一致検索（前方が「app」，「applicatio」で構成される文字列）

app*，applicatio?

また，検索文字列には，除外文字検索用の特殊文字も指定できます。除外文字検索とは，検索タームの一部または前後に特定の文字がある場合を除外して，該当する文書を検索する方法です。除外文字検索用の特殊文字は，半角で指定してください。

ただし，英文検索では除外文字は指定できません。

指定できる除外文字検索用の特殊文字の意味と指定例を次の表に示します。

表4‒6　指定できる除外文字検索用の特殊文字

文字

文字の意味

指定例

^

直後にある1文字を検索対象から除外します。ただし，特殊文字を「¥」（エスケープ文字）とともに指定した2文字は1文字とみなして除外します。

「ローマ?」から「ローマ字」の場合を除外します（?は任意の1文字）。

"ローマ^字"

「?文書」から「誤文書」の場合を除外します。

"^誤文書"

「データ???」から「データベース」の場合を除外します。

"データ^ベ^ー^ス"

「?100」から「¥100」の場合を除外します。

"^¥¥100"

[ ]

除外する1文字を「,」(コンマ)で区切って複数指定する場合に使用します。

「大阪?」から「大阪市」と「大阪府」の場合を除外します。

"大阪^[市,府]"

,

[ ]の中の文字を区切る場合に使用します。

「文書?管理」から「文書の管理」と「文書を管理」を除外します。

"文書^[の,を]管理"

除外文字検索用の特殊文字指定時の注意事項

検索ターム全体または「*」で区切られた部分に除外する文字以外の文字がない場合は，エラーとなります。指定例を次に示します。

誤った例：^ア，^[ア,イ]，^ア*，^ア*イ，ア*^イ，?^ア

正しい例：^アイ，^[ア,イ]ウ，イ^ア*，ウ^ア*イ，ア*^イウ，?^アイ

除外文字検索用の特殊文字を指定した場合，同義語展開されません。

英文検索の場合の注意事項

検索文字列は1バイト文字コードの「0x20」〜「0x7E」の範囲で指定します。それ以外の1バイト文字コード，または2バイト文字コードを指定した場合，そのコードはないものとして扱い，以降の文字コードを詰めて検索します。指定した文字コードが，英文検索用インデクス作成時に定義した不要語，または削除コードと同じコードの場合は，エラーとなります。

検索文字列にインデクスデリミタを含む場合は，インデクスデリミタで前後の文字コードを区切り，フレーズ検索とみなして検索します。例えば「0x20」（半角スペース）で区切って複数の単語を記述した場合，それらの単語が隣り合って出現する一つの単語列として検索します。なお，文字列中の一単語は，64文字（バイト）まで指定できます。64文字（バイト）を超える単語が指定された場合は，65文字（バイト）目以降を無視して64文字（バイト）目までを単語として検索します。

4.3.6　異表記展開指定

単純文字列指定では，例えば，検索対象文字列に「ボウリング」を指定した場合，「ボウリング」だけを検索対象とします。これに対し，異表記展開指定では，検索対象文字列を同義語異表記の文字列に展開し，その文字列も検索対象とします。例えば，「ボウリング」を指定した場合，「ボウリング」だけではなく，「ボーリング」や「ボゥリング」などを検索することができます。英文検索の異表記展開は，半角アルファベット文字列を対象とした，半角アルファベット大小文字列展開をして文字列を検索します。このように，異表記展開を指定すると，より広い範囲での文字列検索が可能となります。

異表記展開指定の形式を次の図に示します。

図4‒7　異表記展開指定の形式

展開モードは，展開する異表記に応じて指定します。異表記オプションの種類と指定する展開モードの対応を次の表に示します。

表4‒7　異表記オプションの種類と指定する展開モードの対応

異表記オプション

展開モード

説明

アルファベット異表記

A

全角英字の文字列を，次の4パターンに展開します。

1.すべてが大文字

2.すべてが小文字

3.先頭だけ大文字

4.指定した文字列

カタカナ異表記

K

全角カタカナ文字列に対して，カタカナ異表記の展開をします。

カタカナ長音・ハイフン展開

L

カタカナ文字列に対して，長音・ハイフン展開をします。このとき，展開されるのは長音・ハイフンだけであり，前後のカタカナ文字列は展開の対象となりません。

カタカナベーシック展開

B

カタカナルールに基づいた展開だけを実行します。

カタカナ拗音展開

C

カタカナ文字列に対して，拗音展開をします。

全角半角異表記

E

指定した文字列中で全角から半角にできるもの，または半角から全角にできるものに対して，次の3パターンに展開します。

1.すべてが全角文字列

2.すべてが半角文字列

3.指定した文字列

半角アルファベット展開

H

半角英字の文字列を，次の4パターンに展開します。

1.すべてが大文字

2.すべてが小文字

3.先頭だけ大文字

4.指定した文字列

ひらがな拗音展開

Y

ひらがなの拗音の展開をします。

英単語派生表記展開※

S

半角英文字の文字列を派生語に展開します。

英単語語尾表記展開※

I

英単語を語尾の変換系に展開します。

注※　このオプションを使用するには，Text Search Enhancer for Englishが必要です。

これら展開モードは単独で指定するだけではなく，組み合わせて指定することもできます。例えば，全角文字のアルファベット大小文字展開，および全角半角文字展開をする場合は，「AE」と指定します。展開モードの指定がない場合は，「AKE」が指定されたと仮定されます。なお，「BCL」を指定した場合は，「K」を指定したときと同じ展開となります。

展開モードは，順不同で指定できます。必要な組み合わせを指定してください。

異表記展開指定時の注意事項

長大な英文に対してアルファベット大小文字展開を実行したり，長大なカタカナ文字列に対してカタカナ異表記展開を実行したりすると，展開数の増加によって，多大なリソースが必要になったり，レスポンスが低下したりすることがあります。

異表記展開指定をする場合は，次のような点に留意してください。

エンドユーザが自由に検索条件を指定できるようなシステムの場合，環境設定時に，環境定義ファイルで最大同義語異表記展開数を設定しておくことをお勧めします。これによって，異表記展開数が多大になった場合にエラーで中断させることができ，システムのリソース消費量を制限できます。

長大なカタカナ文字列に対して，カタカナ異表記展開を必ず実行するような運用の場合は，拗音統一機能を使用してカタカナ展開数を削減してください。拗音統一機能は，インデクス定義時に定義します。また，環境設定時に，環境定義ファイルで最大同義語異表記展開数を設定して，リソース消費量の上限値を設定してください。

英文に対して，アルファベット大小文字展開を必ず実行するような運用の場合は，異表記展開指定ではなく，大小文字統一機能を使用することをお勧めします。大小文字統一機能は，インデクス定義時に定義します。

英文に対して大小文字展開を指定すると，それぞれの単語に対して大小文字展開が実行され，そのすべての組み合わせのOR検索が実行されます。展開数は，「1単語当たり三つの展開形式＋指定文字列」の4パターンとなり，「4のn乗（ｎは単語数）」になります。ただし，指定された文字が展開パターンと一致する場合は3パターンとなり，展開数は「3のn乗（ｎは単語数）」になります。

展開例を次に示します。

指定した英文

long long ago ,there were three little pigs.

アルファベット大小文字展開の結果

long long ago ,there were three little pigs.
Long long ago ,there were three little pigs.
LONG long ago ,there were three little pigs.
long Long ago ,there were three little pigs.
                 ：

この場合の展開数は「展開数＝3×3×3×3×3×3×3×3＝3⁸＝6,561パターン」となります。さらに，全角半角異表記展開を同時に指定した場合は，それぞれの展開結果をすべて全角とすべて半角の2パターンに展開するため，展開数が2倍になります。

展開数の増加は，リソースの増加およびレスポンスの低下につながるので，このような検索は避けてください。

長大なカタカナ文字列に対して，カタカナ異表記展開を必ず実行するような運用の場合は，拗音統一機能を使用してカタカナ展開数を削減してください。拗音統一機能は，インデクス定義時に定義します。また，環境設定時に，環境定義ファイルで同義語異表記展開用最大メモリサイズを設定して，リソース消費量の上限値を設定してください。

長大なカタカナ文字列に対してカタカナ異表記展開を指定すると，カタカナ文字列のそれぞれの部分に対してカタカナ異表記展開が実行され，そのすべての組み合わせのOR検索が実行されます。なお，カタカナ異表記展開は，アルファベット大小文字展開や全角半角展開のように明確な規則に従った展開でなく，XML Extensionで設定されているルールに基づいて展開されます。このため，カタカナ文字列によって展開数は異なります。

展開例を次に示します。

指定したカタカナ文字列

バイクバイクバイクバイクバイク

カタカナ異表記展開の結果

「バイク」は「ヴアイク」，「ヴァイク」，「ヴアィク」，「ヴァィク」，「バイク」，「バィク」の6パターンに展開されるため，それぞれ「バイク」の部分を6パターンに展開した組み合わせが検索条件になります。したがって，例のように「バイク」が5回つながっているようなカタカナ文字列の展開数は，「展開数＝6×6×6×6×6＝6⁵＝7,776パターン」になります。

展開数の増加は，リソースの増加およびレスポンスの低下につながるので，このような検索は避けてください。

展開速度を落とさずに検索を実行するには，部分展開検索モードを指定して検索を実行してください。この検索モードを使用するかどうかは，環境定義ファイルで指定します。指定方法については，「2.6.2(2)　設定できる項目」を参照してください。なお，部分展開検索モードで検索を実行すると，システムのリソース消費量が増加します。このため，検索最大ワークメモリサイズ（phj_mem_search）の設定値を見直す必要があります。検索最大ワークメモリサイズで指定したメモリサイズを超えた場合には，「メモリ不足エラー」，「検索用ワークファイルを使用する」のどちらかを指定できます。

指定例

文字列「COMPUTER」のアルファベット大小文字および全角半角文字展開を含む。

SOUNDEX_EXP( "COMPUTER","AE" )

異表記展開の例を次に示します。

4.3.7　同義語展開指定

同義語展開指定では，同義語展開に使用する辞書名と検索タームを指定します。また，異表記展開モードの指定もできます。異表記展開モードを指定した場合は，同義語展開したすべての語に関して，指定のモードで異表記展開します。異表記展開モードの指定がない場合は，同義語展開の結果で検索します。

同義語展開指定の形式を次の図に示します。

図4‒8　同義語展開指定の形式

同義語展開指定時の注意事項

検索文字列にワイルドカード除外文字検索用の特殊文字を指定した場合は，同義語展開されません。

指定例

文字列「COMPUTER」の同義語，アルファベット大小文字および全角半角展開を含む（同義語辞書はUSR01）。

SYNONYM( USR01, "COMPUTER「","」AE" )

4.3.8　近傍条件指定

近傍条件指定では，二つの検索ターム（語句リスト）とそれらの距離条件，出現順序関係を指定します。それぞれの語句リスト中の検索タームのどれかがヒットした位置で，距離条件に当てはまるように近接している語句リストがヒットする文書を検索します。

距離条件として，距離には演算子と数値，距離単位には文字を表す'CHARACTERS'を使用します。これによって，二つの検索ターム間の文字数（距離）を検索条件にできます。

演算子は，指定距離に等しい，以上，および以下の3種類があり，等しい場合は =を，以上の場合は >=を，以下の場合は <=を指定します。

順序指定は，第一の語句リストと第二の語句リストのどちらが先に出現してもよいとする「ANY_ORDER」と，第一の語句リストの次に第二の語句リストが出現する順序を指定する「IN_ORDER」を選択できます。

近傍条件指定の形式を次の図に示します。

図4‒9　近傍条件指定の形式

指定例

文字列「COMPUTER」の同義語，アルファベット大小文字および全角半角文字展開と，文字列「ネットワーク」の同義語，アルファベット大小文字，カタカナ異表記，全角半角文字展開が20文字以下に近接して出現する（同義語辞書はUSR01）。

PROXIMITY(SYNONYM( USR01, "COMPUTER「","」AE"), <=20,

CHARACTERS,ANY_ORDER,SYNONYM( USR01, "ネットワーク「","」AKE"))

英文検索用インデクスの場合

英文検索用インデクスは距離条件として，距離には演算子と数値，距離単位には単語を表す「WORDS」を使用します。

英文検索用インデクスに対して距離単位に「CHARACTERS」を指定した場合はエラーとなります。

近傍演算の距離は0〜2,147,483,646の範囲で指定します。距離の単位は単語です。インデクスデリミタで区切られた単語を1単語とみなします。例えば，英文書に「I have a pen.」とある場合，インデクスデリミタが半角スペースのため，「I」と「pen」の距離は2となります。また，不要語が含まれる場合，不要語も1単語として近傍演算の距離に数えます。

演算子は，指定距離に等しい，以上，および以下の3種類があり，等しい場合は =を，以上の場合は >=を，以下の場合は <=を指定します。

順序指定は，第一の語句リストと第二の語句リストのどちらが先に出現してもよいとする「ANY_ORDER」と，第一の語句リストの次に第二の語句リストが出現する順序を指定する「IN_ORDER」を選択できます。

英文検索用インデクスの場合の近傍条件指定の形式を次の図に示します。

図4‒10　英文検索用インデクスの近傍条件指定の形式

指定例

文字列「COMPUTER」と「SYSTEM」が10単語以下に近接して出現する。

PROXIMITY("COMPUTER", <= 10, WORDS, ANY_ORDER, "SYSTEM")

注意事項

近傍検索指定では，検索条件によってシステムに負荷を与えるおそれがあります。

環境定義ファイルに1文字近傍検索実行可否指定（phj_1gram_proximity_search）をすると，負荷を与えるおそれのある条件の検索を制限（エラーリターン）できます。

4.3.9　拡張NOT指定

拡張NOT指定では，除外元の検索因子と除外する検索因子を一つ以上指定します。除外元の検索因子でヒットした文字列に該当する文書を検索します。ただし，除外元の検索因子でヒットした文字列が，除外する検索因子でヒットした文字列に含まれている場合，その文字列は検索対象から除外されます。

拡張NOT指定を使用すると，例えば，「ログ」という文字列を検索する際に，「プログラム」と「バックログ」中に含まれる「ログ」を検索対象外とすることができます。このように，除外文字検索ではできない複数の文字列を除外した検索ができます。

拡張NOT指定の形式を次の図に示します。

図4‒11　拡張NOT指定の形式

指定例

文字列「ログ」を検索します。ただし，プログラムおよびバックログのログは検索対象外とします。

EXNOT("ログ","プログラム","バックログ")

注意事項

除外元検索因子および除外検索因子に指定する単純文字列指定には，ワイルドカードおよび特殊文字（¥を除く）を指定できません。また，重みの指定は無視されます。

拡張NOT指定は，英文検索用インデクスで使用できません。

4.3.10　重み

重みは，複数の検索タームを指定する場合，スコア値を算出するときに，より重要度を高くしたい方の検索タームに付けます。これによって，重みを付けた検索タームにはより高いスコアが付きます。重みを指定できる範囲は，1〜100です。

重み指定の形式を次の図に示します。

図4‒12　重み指定の形式

なお，重みは，contains_with_score関数の全文検索条件式にだけ指定できます。contains関数の全文検索条件式で重みを指定しても無視されます。contains_with_score関数，contains関数の詳細については，「4.2　抽象データ型関数の文法」を参照してください。

指定例

構造名「文章」の下の「本文」に文字列「コンピュータ」を含み，かつ構造名「文章」の下の「概要」に文字列「ネットワーク」を含む。スコア値を算出する際は，文字列「コンピュータ」の出現数に10を掛ける。

文章[本文(10){"コンピュータ"}] AND文章[概要{"ネットワーク"}]

構造名「文章」の下の「本文」に文字列「コンピュータ」または「ネットワーク」を含む。スコア値を算出する際は，文字列「ネットワーク」の出現数に10を掛ける。

文章[本文{"コンピュータ" OR "ネットワーク"(10)}]

4.3.11　属性値指定

構造に指定された属性を条件にして検索する場合，構造に対する属性名およびテキスト検索条件を指定します。

属性値指定の形式を次の図に示します。

図4‒13　属性値指定の形式

指定例

構造名「文章」の属性「Author」に「Tanaka」を含む。

文章:Author{"Tanaka"}

4.3.12　特定構造検索指定

特定構造検索指定は，複数の構造を対象とした検索条件を満たす構造が，ある特定構造に含まれているかどうかを検索する場合に使用します。

特定構造検索指定では，検索の対象となる特定構造および検索条件式を二つ以上指定します。ただし，特定構造検索指定の構造検索パターンは，属性値指定できません。

特定構造検索指定の形式を次の図に示します。

図4‒14　特定構造検索指定の形式

特定構造指定には，検索範囲を特定するための構造名を指定します。

特定構造指定の形式を次の図に示します。

図4‒15　特定構造指定の形式

指定例

最上位構造「報告書」の下位構造「会議」の下位に，「所属」と「出席者」という構造を持つ文書について，「所属」に文字列「横浜営業所」を含み，かつ「出席者」に文字列「鈴木」を含む文書を検索する。

SPECIFIC_AND(報告書[会議]; 報告書[会議[所属{"横浜営業所"}]], 報告書[会議[出席者{"鈴木"}]])

4.3.13　特殊文字の指定

全文検索条件の条件式中で特殊な意味を持つ記号（特殊記号）は，単独では文字として指定できません。文字として指定する場合は，各特殊記号の前に「¥」（エスケープ文字）を付けてください。全文検索条件の単純文字列指定以外と，単純文字列指定内では条件式中の特殊記号が異なります。

「¥」を付ける必要のある特殊記号を表4-8および表4-9に示します。

表4‒8　全文検索条件の条件式中に指定できる特殊記号（全文検索条件の単純文字列指定以外）

特殊記号

文字の呼称

"

ダブルクォーテーション

スペース

,

コンマ

タブ

{

左波括弧

}

右波括弧

[

左角括弧

]

右角括弧

(

左丸括弧

)

右丸括弧

¥

円記号（エスケープ文字）

:

コロン

*

アスタリスク

?

疑問符

=

イコール

-

ハイフン

表4‒9　全文検索条件の条件式中に指定できる特殊記号（全文検索条件の単純文字列指定内）

特殊記号

文字の呼称

*

アスタリスク

?

疑問符

|

パイプ

¥

円記号（エスケープ文字）

[

左角括弧

]

右角括弧

,

コンマ

(

左丸括弧

)

右丸括弧

"

ダブルクォーテーション

^

ハット

4.3.14　全文検索条件式の指定例

全文検索条件式の指定例を次に示します。なお，例では表「reports」のSGMLTEXT型の列「doc」を検索対象としています。また，「概要」および「目的」は，最上位構造「文章」の下位構造です。

「概要」部分に文字列「COMPUTER」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[概要{"COMPUTER"}]' ) IS TRUE

「概要」部分に文字列「COMPUTER」の同義語を含む文書のタイトル一覧表を作成する。

SELECT  title  FROM reports
  WHERE contains(doc, '文章[概要{SYNONYM(USR01, "COMPUTER")}]' ) IS TRUE

「概要」部分に文字列「COMPUTER」の同義語と「NETWORK」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[概要{SYNONYM(USR01, "COMPUTER")
                 AND "NETWORK"}]' ) IS TRUE

「概要」部分に「COMPUTER」の同義語と「NETWORK」の同義語を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[概要{SYNONYM(USR01,
                "COMPUTER") AND SYNONYM(USR01,
                "NETWORK")}]' ) IS TRUE

「概要」部分に「COMPUTER」の同義語と「NETWORK」の同義語が10文字以内に近接して出現する文書のタイトル一覧表を作成する。

SELECT  title  FROM reports
  WHERE contains(doc, '文章[概要{PROXIMITY(SYNONYM
                 (USR01, "COMPUTER"),<=10, CHARACTERS,
                 ANY_ORDER,SYNONYM(USR01,
                 "NETWORK"))}]' ) IS TRUE

「概要」部分に， 「COMPUTER」の同義語（同義語辞書USR01）と， 「NETWORK」の同義語（同義語辞書POLITICS）が20文字以内に近接して出現する文書のタイトル，著者一覧表を作成する。

SELECT  title, author  FROM reports
  WHERE contains(doc, '文章[概要{PROXIMITY(SYNONYM
                 (USR01, "COMPUTER"),<= 20, CHARACTERS,
                 ANY_ORDER, SYNONYM( POLITICS,
                 "NETWORK"))}]' ) IS TRUE

「目的」部分に「COMPUTER」を含み，かつ「概要」部分に「NETWORK」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[目的{"COMPUTER"}] AND文章[概要
                 {"NETWORK"}]' ) IS TRUE

「文章」に「NETWORK」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章{"NETWORK"}' ) IS TRUE

「文章」の下の任意の階層にある「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[*[コラム{"COMPUTER"}]]' ) IS TRUE

3階層目にある「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '?[?[コラム{"COMPUTER"}]]' ) IS TRUE

「文章」の下階層にある2番目の「コラム」部分に文字列「COMPUTER」を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章[コラム=2{"COMPUTER"}]') IS TRUE

「文章」に「COMPUTER」と「NETWORK」のアルファベット大小文字展開と全角半角展開を含む文書の件数を調べる。

SELECT  COUNT(*)  FROM reports
  WHERE contains(doc, '文章{SOUNDEX_EXP("COMPUTER「","」AE") AND
                      SOUNDEX_EXP("NETWORK「","」AE")}' ) IS TRUE

5　XML変換ライブラリ

この章では，XML変換ライブラリの目的，機能，前提プログラム，XMLのフィルタリング機能，およびエラーメッセージについて説明します。

5.1　目的

この節では，XML変換ライブラリの目的について説明します。

HiRDBにXML Extensionを組み込んだシステムでは，登録したXMLデータに対し全文検索機能を利用できます。このシステムでXMLデータを全文検索するには，XMLデータから生成されたXML Extensionで全文検索できる形式のデータ（ESIS-B形式）が登録されている必要があります。

XML変換ライブラリは，このESIS-B形式データを生成するためのコマンドおよびUAPをJavaで作成するライブラリを提供しています。XML変換ライブラリで作成したUAPまたはコマンドを利用することで，XMLデータの構造情報とコンテンツを抽出したESIS-B形式データを生成できます。なお，XML変換ライブラリはHiRDB/Run Time Version 8 08-02-04以降とHiRDB/Developer's Kit Version 8 08-02-04以降にもバンドルされています。

5.2　ESIS-B形式データ生成機能

この節では，XML変換ライブラリが提供するESIS-B形式データ生成機能の概要について説明します。

ESIS-B形式データ生成機能とは，XMLデータをESIS-B形式に変換する機能です。ESIS-B形式データに変換されたXMLデータをXML型列に登録することで，XML型列の使用ができます。

XML変換ライブラリでESIS-B形式データを作成するには，次の2種類の方法があります。

UAPから作成する

XML変換ライブラリで作成したUAPを利用して，ESIS-B形式データを生成できます。XML変換ライブラリはUAP作成に必要な各種ファイルやクラスを提供していますので，ESIS-B形式データを生成するUAPを効率的に作成できます。

コマンドから作成する

phdxmlcnvコマンドを実行することでESIS-B形式データを生成できます。

XMLデータからESIS-B形式データを生成する方法については，「5.4　ESIS-B形式データの生成」を参照してください。

5.3　前提プログラム

この節では，XML変換ライブラリの機能を利用するために必要なプログラムについて説明します。

XML変換ライブラリの機能の利用には，UAPの作成および実行するために次のどれかのプログラムが必要です。

UNIXの場合

uCosminexus Application Server Standard

uCosminexus Application Server Enterprise

Windowsの場合

uCosminexus Application Server Standard

uCosminexus Application Server Enterprise

uCosminexus Developer Standard

uCosminexus Developer Professional

XML変換ライブラリは，次のどちらかのアプリケーション実行環境で利用できます。

uCosminexus Apprication Server上のサーバアプリケーション

EJBクライアントアプリケーション

XMLデータ変換コマンド（phdxmlcnv）を使用する場合，uCosminexusスタンドアロンプログラム実行機能も必要です。

5.4　ESIS-B形式データの生成

この節では，ESIS-B形式データを生成するためのコマンドの機能，およびJavaでのUAPの作成方法について説明します。また，JavaでUAPを作成するためにXML変換ライブラリが提供するファイルおよびクラスについても説明します。

5.4.1　提供するファイル一覧

XML変換ライブラリで提供するファイルの一覧を示します。なお，提供するファイルを使用してUAPを作成する方法については，「5.4.4　UAPのコンパイルおよび実行時の設定」を参照してください。

提供するファイルの一覧を次の表に示します。

表5‒1　 XML変換ライブラリで提供するファイル一覧

ファイル名

ファイル種別

説明

XMLConverter.jar

JARファイル

UAPコンパイル時にこのファイルへクラスパスを通します。

5.4.2　提供するクラス一覧

XML変換ライブラリで提供するクラスの一覧を次の表に示します。なお，クラスの詳細については，「5.6　PrdbXMLConverterクラス」を参照してください。

表5‒2　 XML変換ライブラリで提供するクラス一覧

クラス名

機能

PrdbXMLConverter

ESIS-B形式データの作成，作成時の各設定を行います。

PrdbIllegalXMLException

XMLConverterで発生する例外，XMLデータに起因する例外を扱うクラスです。

PrdbParameterException

XMLConverterで発生する例外，setProperty指定ミス時の例外を扱うクラスです。

PhrdFilterExtension

XMLConverterで発生する例外，setFilterに指定したフィルタ情報定義ファイルの指定ミス時の例外を扱うクラスです。

5.4.3　クラスメソッドの発行順序

XML変換ライブラリで提供するクラスメソッドを使用してUAPを作成する場合の，クラスメソッドの発行順序の例を次の図に示します。

図5‒1　クラスメソッドの発行順序の例

5.4.4　UAPのコンパイルおよび実行時の設定

XML変換ライブラリを使用してUAPを作成する際の，コンパイル方法について説明します。

UAPを実行するマシンには，XML変換ライブラリをインストールしてください。

(1)　コンパイル（UNIXの場合）

次に示すパスをUAPコンパイル時のクラスパスに加えてください。

HiRDB運用ディレクトリ/plugin/_phdxml/jcnv/XMLConverter.jar

(2)　コンパイル（Windowsの場合）

次に示すパスをUAPコンパイル時のクラスパスに加えてください。

HiRDB運用ディレクトリ¥plugin¥_phdxml¥jcnv¥XMLConverter.jar

(3)　実行時の設定（UNIXの場合）

次に示すパスをUAP実行時のクラスパスに加えてください。

HiRDB運用ディレクトリ/plugin/_phdxml/jcnv/XMLConverter.jar

(4)　実行時の設定（Windowsの場合）

次に示すパスをUAP実行時のクラスパスに加えてください。

HiRDB運用ディレクトリ¥plugin¥_phdxml¥jcnv¥XMLConverter.jar
Cosminexusインストールディレクトリ¥jaxp¥lib¥csmjaxp.jar

5.4.5　UAPのコンパイルおよび実行時の設定（HiRDB/Run TimeおよびHiRDB/Developer's Kitの場合）

HiRDB/Run Time，HiRDB/Developer's KitのXML変換ライブラリを用いてUAPを作成する場合のコンパイル方法と実行方法について説明します。

(1)　コンパイル（UNIXの場合）

次に示すパスをUAPコンパイル時のクラスパスに加えてください。

/opt/HiRDB/client/lib/XMLConverter.jar

(2)　コンパイル（Windowsの場合）

次に示すパスをUAPコンパイル時のクラスパスに加えてください。

HiRDB/Run Time,HiRDB/Developer's Kitインストールディレクトリ¥utl¥XMLConverter.jar

(3)　実行時の設定（UNIXの場合）

次に示すパスをUAP 実行時のクラスパスに加えてください。

/opt/HiRDB/client/lib/XMLConverter.jar

(4)　実行時の設定（Windowsの場合）

次に示すパスをUAP 実行時のクラスパスに加えてください。

HiRDB/Run Time,HiRDB/Developer's Kitインストールディレクトリ¥utl¥XMLConverter.jar
Cosminexusインストールディレクトリ¥jaxp¥lib¥csmjaxp.jar

5.4.6　XMLデータ変換コマンド（phdxmlcnv）によるESIS-B形式データの生成

この節では，XML変換ライブラリの提供するコマンドを使ったESIS-B形式データ生成について説明します。

(1)　機能

XMLデータから，ESIS-B形式のデータを作成します。

(2)　形式

phdxmlcnv -h ESIS-B形式データ変換定義ファイル
          -e エラー情報出力ファイル
          -m 変換後データ文字コード種別
         [-r]

(3)　引数

-h　ESIS-B形式データ変換定義ファイル

変換前のXMLデータ，出力先ファイル名を定義した，定義ファイル名を指定します。

このファイル形式の詳細については，「(7)ESIS-B形式データ変換定義ファイルの項目」を参照してください。

-e　エラー情報出力ファイル

XMLデータ変換中にエラーが発生した場合，変換に失敗したXMLデータとエラー要因を出力するファイル名を指定します。このとき，エラー情報の文字コードは，-mの指定値に合わせて出力されます。

エラー要因については，「(6)エラー要因とリターンコード」を参照してください。

-m　変換後データ文字コード種別

変換後のデータの文字コード種別を指定します。この文字コード種別は，変換後のデータ（ESIS-B形式ファイル）を登録するHiRDBの文字コードに合わせて指定します。ただし，文字コード種別がUS-ASCIIの場合は，文字コードがsjis，ujis，utf-8のHiRDBに登録できます。

指定できる文字コード種別を次に示します。

SJIS_MS

SJIS_JIS

SJIS※

UTF_8_MS

UTF_8_JIS

EUC_JP

US_ASCII

注※

「SJIS」と指定した場合，実行環境として使用しているJavaのバージョンによって「SJIS_MS」と「SJIS_JIS」のどちらかで認識されます。Cosminexus Developer's Kit for Javaでは「SJIS_JIS」として認識します。

-r

同じ名称のファイルがすでに登録されている場合は，新しいファイルに置き換えます。

引数に指定するファイル名およびディレクトリ名に使用できる文字は，半角文字の英数字および記号です。使用できる記号を次に示します。

”_”（アンダーバー）

”.”（ドット）

”@”

”#”

”-”（ハイフン）

Windowsで引数のパス名に空白を含めたい場合は，前後を引用符（”）で囲んでください。

(4)　実行時の設定

XMLデータ変換コマンドを使用するための環境変数の設定について説明します。

(a)　UNIXの場合

環境変数名

PDDIR

指定値

HiRDB運用ディレクトリ

HiRDB/Run Time，またはHiRDB/Developer's Kitでphdxmlcnvコマンドを使用する場合は，環境変数PDDIRの代わりに環境変数PDXMLCNVPATHに次の値を指定します。

PDXMLCNVPATH=/opt/HiRDB/client/lib

なお，PDDIRとPDXMLCNVPATHが同時に指定されている場合はPDXMLCNVPATHの値が優先されます。

(b)　Windowsの場合

環境変数名

PATH

指定値

Cosminexusのインストールフォルダ¥jdk¥bin

環境変数名

PHD_XMLCNV_COSMINEXUS_PATH

指定値

Cosminexusのインストールフォルダ

環境変数名

PDDIR

指定値

HiRDB運用ディレクトリ

HiRDB/Run Time，またはHiRDB/Developer's Kitでphdxmlcnvコマンドを使用する場合は，環境変数PDDIRの代わりに環境変数PDXMLCNVPATHに次の値を指定します。

PDXMLCNVPATH=HiRDB/Run Time,HiRDB/Developer's Kitインストールディレクトリ¥utl

なお，PDDIRとPDXMLCNVPATHが同時に指定されている場合はPDXMLCNVPATHの値が優先されます。

(c)　UNIX,Windows共通

EJB クライアントアプリケーションとしてXMLデータ変換コマンド（phdxmlcnv）を動作させるため，ユーザ定義ファイルの作成，および環境変数を設定することを推奨します。これによってトラブルシュート用の情報が出力され，障害調査に使用できます。なお，この設定を省略した場合でも，XMLデータ変換コマンドは動作します。

環境変数名

PHD_XMLCNV_CONFPATH

指定値

EJB クライアントアプリケーション用のユーザ定義ファイル格納ディレクトリパス

EJB クライアントアプリケーション用のユーザ定義ファイルを次に示します。

usrconf.cfg

usrconf.properties

各ファイルを次の説明に従って作成してください。

usrconf.cfgファイルの定義内容

次の定義を記述してください。

ejb.client.log.directory=<log_directory_base>
ejb.client.ejb.log=<log_directory_name>
ejb.client.log.stdout.enabled=false
add.jvm.arg=-XX:-HitachiOutOfMemoryAbort

定義内容

説明

<log_directory_base>

ログファイルの出力先ディレクトリを絶対パスで指定します。

<log_directory_name>

ejb.client.log.directoryキーに指定したディレクトリ下の，EJBクライアントアプリケーションが出力するメッセージログ出力先ディレクトリ名を指定します。

注意事項

<log_directory_base>，および<log_directory_name>以外は固定です。

ログファイルは，<log_directory_base>＋<log_directory_name>のディレクトリ下に作成されます。

<log_directory_base>，および<log_directory_name>に指定するディレクトリには，XMLデータ変換コマンドを実行するユーザのアクセス権が必要です。

複数のXMLデータ変換コマンドを同時に実行する場合，それぞれログ出力が異なる内容のユーザ定義ファイルを作成し，PHD_XMLCNV_CONFPATH設定値を各定義ファイル格納ディレクトリパスに設定してください。

指定値については，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。

usrconf.propertiesファイルの定義内容

usrconf.propertiesファイルには，ログファイルの出力量を指定します。デフォルトでのログファイル出力量は数十MBです。ログファイルの出力量を変更する場合は，次の定義を記述してください。

ejbserver.logger.channels.define.<チャネル名>.filenum=<file_num>
ejbserver.logger.channels.define.<チャネル名>.filesize=<file_size>

定義内容

説明

<file_num>

ログファイル面数を指定します。

<file_size>

1面あたりのログファイルサイズを指定します。

<チャネル名>

次のどれかを指定できます。

ClientMessageLogFile

ClientExceptionLogFile

ClientMaintenanceLogFile

EJBContainerLogFile

UserOutLogFile

UserErrLogFile

注意事項

usrconf.propertiesファイルは，デフォルトでも十分な情報を取得できます。デフォルトでXMLデータ変換コマンドを実行する場合，0バイトの空ファイルとしてusrconf.propertiesファイルを作成してください。

指定値については，マニュアル「Cosminexus　リファレンス　定義編」を参照してください。

(5)　環境変数によるESIS-B形式データ生成時の設定変更

次の表に示す環境変数を定義することによりXML変換時の設定を変更してESIS-B形式データを生成することができます。

環境変数に正しくない値を設定しているとphdxmlcnvコマンド実行時にエラ−となります。

表5‒3　phdxmlcnvコマンド実行時に指定できる環境変数一覧

環境変数名

設定可能な値

（括弧内はデフォルト値）

説明

PHD_XMLCONVERTER_VALIDATE

ON/OFF（OFF）

変換するXMLデータに対して妥当性検証を行います。

PHD_XMLCONVERTER_EXTERNAL_ENTITY

ON/OFF（ON）

変換するXMLデータ内で指定している解析対象外部エンティティをESIS-B形式データに含めます。

PHD_XMLCONVERTER_XMLSCHEMA

ON/OFF（OFF）

変換するXMLデータに対してXMLSchemaによる妥当性検証を行います。

PHD_XMLCONVERTER_REGULAR_FOR_TEXT

ON/OFF（ON）

XMLデータ内のタグ間のテキストを正規化します。

PHD_XMLCONVERTER_ORIGINAL_XML

ON/OFF（ON）

原文を保持します。

(6)　エラー要因とリターンコード

コマンド実行時にエラーが発生した場合は，次に示す原因が考えられます。

引数が指定されていない

エラー情報出力ファイルのアクセスエラー

ESIS-B形式データ変換定義ファイルの形式不正

ESIS-B形式データ変換定義ファイルのアクセスエラー

ESIS-B形式データ変換定義ファイル内に指定したXMLが不正

phdxmlcnvコマンドのリターンコードを次の表に示します。

表5‒4　 phdxmlcnvコマンドのリターンコード

リターンコード

要因

0

正常終了

1

一部のXMLで変換を失敗

-1

上記要因以外でエラー終了

注

環境が正しく設定されていない場合，上記以外のリターンコードが出力されるときがあります。

(7)　ESIS-B形式データ変換定義ファイルの項目

ESIS-B形式変換定義ファイルは，変換対象ファイルごとに次の表に示す項目を順番に「，（コンマ）」で区切って指定します。なお，パス名に「，」は使用できません。

ESIS-B形式データ変換定義ファイルの項目を次の表に示します。

表5‒5　 ESIS-B形式データ変換定義ファイルの項目

項目

指定内容

省略可否

変換前XMLデータ絶対パス名

変換するXMLデータファイル名を絶対パスで指定します。

不可

変換後データ格納先ファイル名

変換後のESIS-B形式データを格納するファイル名を絶対パスで指定します。

不可

フィルタ情報定義ファイル名

変換するXMLデータに対して，XML構造によるフィルタリングを行う場合は，フィルタ情報定義ファイル名を絶対パスで指定します。

可

ファイルパス名は200バイト以内で指定してください。

ファイル名は絶対パスで指定してください。相対パスで指定した場合，正常に動作しないことがあります。

指定例を次に示します。

指定例

/users/xmldoc/xml1.xml,/users/outdoc/outdoc1
/users/xmldoc/xml2.xml,/users/outdoc/outdoc2,/users/filter1.txt
/userx/xmldoc/xml3.xml,/users/outdoc/outdoc3,/users/filter2.txt
：
：

(8)　メモリ不足の対処

XMLデータ変換コマンド（phdxmlcnv）実行中にメモリ不足が発生した場合，次の環境変数名を指定して，XMLデータ変換コマンド（phdxmlcnv）が使用できるメモリを増やしてください。

環境変数名

PHD_XMLCNV_MAXMEM

指定値

2〜システムで利用できる仮想メモリ量（単位：MB）

指定値の目安

max ( 64,XMLファイルの最大サイズ［MB］×100)

(9)　注意事項

XMLデータ変換中に変換エラーが発生した場合，障害要因とXMLデータファイル名をエラー情報出力ファイルに出力し，変換処理を続行します。変換に失敗したXMLデータがある場合は，コマンド終了時に一部のXMLデータの変換に失敗したとの警告メッセージを出力し，正常終了します。エラー情報ファイルの出力ファイルを参照して，エラー要因を取り除いてから再度コマンドを実行してください。

エラー情報は，出力ごとにエラー情報出力ファイルに追加されます。

出力するESIS-B形式データの文字コードは，必ず-mで指定してください。

この指定は，HiRDBのセットアップ環境に合わせる必要があります。

入力するXMLデータの文字コードは，登録するHiRDBの文字コードに合わせてください。

PHD_XMLCNV_MAXMEMの値が不正，または大き過ぎる場合は，エラーコードのないエラーメッセージが出力されます。その場合は，設定値を見直してください。

5.4.7　使用できる文字および文字コード

XML変換ライブラリで使用できるXMLデータの文字と文字コードについて説明します。

使用できるXMLデータの文字および文字コードは，前提製品のCosminexus XML Processerの仕様に従います。詳細については，マニュアル「Cosminexus XML Processer ユーザーズガイド」を参照してください。

5.4.8　ESIS-B形式データへの変換規則

XMLデータからESIS-B形式データを生成するときの，要素，属性，およびタグ間テキストの変換規則について説明します。

(1)　要素の変換規則

XMLデータ中に出現したすべての要素がESIS-B形式データに適応されます。

指定した文字コードで表せない文字が要素名に含まれる場合は，「?」（疑問符）に置換されます。

(2)　属性の変換規則

指定した文字コードで表せない文字が属性に含まれる場合は，「?」（疑問符）に置換されます。また，属性値はDTDで指定した属性型によって次の表に示す規則に従って変換されます。

表5‒6　属性の変換規則

属性型

規則

CDATA

属性値として記述された文字列が，そのままの形でESIS-B形式に適応されます。

ENTITY

「NMTOKEN」と同様に扱われます。ただし，DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。

ENTITIES

「NMTOKENS」と同様に扱われます。ただし，DTD内で解析対象外エンティティを指定している場合の属性値は解析対象外エンティティで指定したシステムIDとなります。

ID

「NMTOKEN」と同様に扱われます。

IDREF

「NMTOKEN」と同様に扱われます。

IDREFS

「NMTOKENS」と同様に扱われます。

NMTOKEN

名前字句

属性値として記述された文字列が，前後の半角スペースとタブおよび改行を削除した形でESIS-B形式に適応されます。

NMTOKENS

名前字句並び

属性値として記述された文字列が，一つ以上の空白文字を区切りとして個々の属性値に分解され，それぞれの属性値がESIS-B形式に適応されます。検索時には，分解されたそれぞれの属性値に対して検索を実行できます。

（例）

<element attr="abc△def"/>と記述されている場合は，複数の属性値"abc"，"def"として適応されます。

(3)　タグ間テキストの変換規則

タグ間テキストは出現単位に個別に変換されます。タグ間テキストの変換規則を次の表に示します。

表5‒7　タグ間テキストの変換規則

条件

規則

説明

ENTITY

連結

エンティティの前後に文字列がある場合は，連続した文字列とします。

（例）

エンティティとして，'copyright'を'(c)'にしている場合，「コピーライトマークは&copyright;です。」は，「コピーライトマークは(c)です。」となります。

CDATAセクション

連結

CDATAセクションの前後に文字列がある場合は，連続した文字列とします。

（例）

「エレメントは<![CDATA[<element>]]>と記述します。」は，「エレメントは<element>と記述します。」となります。

ELEMENTを内包する文字列

独立

タグ間テキスト内に要素ノードがある場合は，内包する要素ノードの前後で，それぞれの独立した文字列として扱われます。

（例）

「XML<略語term="XML" context="Extensible Markup Language"/>とは」は，「XML」と「とは」の個別の文字列とします。この場合，「XMLとは」で検索してもヒットしません。

タグ間テキスト内の，変換に指定した文字コードで表せない文字，空白文字および改行コードの扱いを次に示します。

(a)　タグ間テキスト内の指定文字コードで表せない文字

タグ間テキスト内の指定文字コードで表せない文字は，「?」（疑問符）に置換されます。ただし，XMLデータのXML宣言部に書かれている文字コードで変換できないコードが含まれている場合は，変換エラーとなります。

(b)　タグ間テキスト内の空白文字

タグ間テキスト内の空白文字（タブ（0x09），半角スペース（0x20）），

改行コード（LF（0x0a），CR（0x0d），DOS改行（0x0d 0x0a））は，次のように扱われます。

タグ間テキスト先頭，および末尾の空白文字，改行コードは削除されます。

タグ間テキスト内の改行コードは，すべてLF（0x0a）に置換されます。

空白文字と改行コードが連続する文字列は，それぞれ出現順に一つにまとめられます。

（例）

変換前：<root>改行と(0x20)(0x0a)(0x09)(0x20)(0x0a)(0x09)空白の例</root>

変換後：<root>改行と(0x20)(0x0a)(0x09)空白の例</root>

5.5　XMLデータに関する注意事項

この節では，XML変換ライブラリに指定するXMLデータに関する注意事項を説明します。

5.5.1　XMLデータの文字コード

ここでは，XMLデータの文字コードに関する注意事項を説明します。

XML変換ライブラリに指定できる文字コードに関してはマニュアル「Cosminexus XML Processor　ユーザーズガイド」を参照してください。ただし，文字コードが"Shift_JIS"の場合，XML変換ライブラリを動作させるJavaのバージョンによって「SJIS」，「Windows-31J」のどちらかで動作します。前提の「uCosminexus Application Server Standard　07-00」を使用している場合は「SJIS」として動作します。

5.5.2　DTD

ここでは，XMLデータのDTDに関する注意事項を説明します。

XML変換ライブラリに指定するXMLデータ内でDTDを宣言しているか，外部DTDファイルを定義している場合，XML変換ライブラリはDTDを解釈します。このため，外部DTDとして定義したファイルが存在しない場合はFileNotFoundExceptionが発生します。また，PrdbXMLConverterクラスのsetPropertyメソッドで妥当性検証を有効にした場合，妥当性検証に失敗するとSAXParseExceptionが発生します。

5.5.3　エンティティ

ここでは，DTD内で外部エンティティを定義した場合の注意事項を説明します。

(1)　解析対象の外部エンティティ

PrdbXMLConverterクラスのsetPropertyメソッドで外部エンティティファイルの読み込みを有効にした場合は，外部エンティティファイルの内容を含んだESIS-B形式データを生成します。また，外部エンティティファイルが存在しない場合はFileNotFoundExceptionが発生します。

(2)　解析対象外の外部エンティティ

DTD内で解析対象外の外部エンティティを指定して，属性値の型が「ENTITY」または，「ENTITIES」の属性値に解析対象外エンティティ名を指定した場合は，生成されたESIS-B形式データ内の属性値は解析対象外エンティティ宣言のSystemIDの値となります。

5.5.4　XMLSchema

ここでは，XMLSchemaによる妥当性検証について説明します。

次の条件をすべて満たす場合，XML変換ライブラリはXMLSchemaによる妥当性検証を行います。

setPropertyを指定してXMLSchemaによる妥当性検証を有効にしている

XMLデータファイル内でXMLSchemaファイルをschemaLocationに指定している

XMLSchemaによる妥当性検証に失敗した場合，SAXParseExceptionが発生します。

5.5.5　XML変換ライブラリの制限

ここではXML変換ライブラリに指定するXMLデータファイルに関する，XML変換ライブラリ特有の制限について説明します。

次に示す条件に該当するXMLデータファイルをcreateESISBメソッドに指定した場合，PrdbIllegalXMLExceptionが発生します。

createESISBの引数に「null」を指定した場合

XMLのファイルサイズが5メガバイトを超える場合

要素名，属性名，名前空間接頭語，処理命令ターゲット名の長さがsetPropertyで指定した出力文字コード換算で4096バイトを超える場合

要素のネスト数が100を超える場合

5.6　PrdbXMLConverterクラス

この節では，XML変換ライブラリで提供するクラス（PrdbXMLConverter）について説明します。

説明

XMLデータファイルをESIS-B形式に変換するクラスです。

パッケージ名称

JP.co.Hitachi.soft.HiRDB.XMLConverter

スレッドへの対応

このクラスはマルチスレッドに対応していません。マルチスレッドでXMLデータをESIS-B形式に変換する場合は，スレッドごとにPrdbXMLConverterインスタンスを生成してください。

PrdbXMLConverterクラスが提供するメソッドとフィールドを次に示します。

表5‒8　メソッド（パブリックメソッド）一覧（PrdbXMLConverterクラス）

メソッド名

機能

createESISB

ESIS-B形式データの生成

setProperty

ESIS-B形式データ生成に関する設定

setFilter

XML構造によるフィルタリングの設定

unsetFilter

XML構造によるフィルタリングの解除

表5‒9　フィールド（パブリックフィールド）一覧（PrdbXMLConverterクラス）

フィールド名

説明

VALIDATE

妥当性検証を表す設定項目ID

ORIGINAL_XML

原文保持を表す設定項目ID

ENCODE

出力文字コードを表す設定項目ID

EXTERNAL_ENTITY

外部エンティティ参照を表す設定項目ID

XMLSCHEMA

XMLSchemaによる妥当性検証を表す設定項目ID

REGULAR_FOR_TEXT

文字列の正規化の設定を表す設定項目ID

UTF_8_MS

MS規格のUTF-8を表す設定値ID

UTF_8_JIS

JIS規格のUTF-8を表す設定値ID

SJIS_MS

MS規格のシフトJISを表す設定値ID

SJIS_JIS

JIS規格のシフトJISを表す設定値ID

SJIS

MS/JISが実行環境に依存するシフトJISを表す設定値ID

EUC_JP

EUC_JPを表す設定値ID

US_ASCII

US_ASCIIを表す設定値ID

表5-8に示す各メソッドの詳細について，以降で説明します。

createESISB

機能

ESIS-B形式データを生成します。

形式

public byte[] createESISB(String xmlFileName);

引数

String xmlFileName

ESIS-B形式データに変換するXMLデータファイル名を指定します。

戻り値

byte［］

変換結果のESIS-B形式データが格納されます。

発生する例外

発生する例外を次の表に示します。

表5‒10　 createESISBで発生する例外

名称

要因

PrdbIllegalXMLException

引数に指定したXMLデータファイルはXML変換ライブラリの制限に抵触しています。

org.xml.sax.SAXParseException

引数に指定したXMLデータファイルが不正です。

org.xml.sax.SAXException

XMLパーサがXMLデータファイルの解析を続行できません。

java.io.FileNotFoundException

引数に指定したXMLデータファイルまたは外部参照ファイルが開けません。

java.io.IOException

XMLデータファイルの変換中に入出力例外が発生しました。

org.xml.sax.SAXNotRecognizedException

XMLパーサが不正です。

org.xml.sax.SAXNotSupportedException

XMLパーサが不正です。

javax.xml.parsers.ParserConfigurationException

XMLパーサが不正です。

PrdbSystemError

内部矛盾が発生しています。

使用例

PrdbXMLConverter converter = new PrdbXMLConverter();
byte esisb[]=converter.createESISB("test.xml");

注意事項

引数に指定するXMLデータの注意事項については「5.5　XMLデータに関する注意事項」を参照してください。

setProperty

機能

ESIS-B形式データ生成に関する設定を行います。

形式

public void setProperty(
                         int propertyCode，
                         int value );
public void setProperty(
                         int propertyCode，
                         boolean value);

引数

設定できる項目とそれぞれの項目に設定できる値を次の表に示します。

表5‒11　 setPropertyの設定項目と設定値

設定項目

設定値

説明

VALIDATE

true/false

XMLデータへの妥当性検証のtrue/falseを設定します。

デフォルト：false

EXTERNAL_ENTITY

true/false

外部エンティティファイルの参照のtrue/falseを設定します。

デフォルト：true

ENCODE

UTF_8_MS

UTF_8_JIS

SJIS_MS

SJIS_JIS

SJIS※

EUC_JP

US_ASCII

生成するESIS-B形式データの文字コード種別を設定します。文字コード種別は登録するHiRDBの文字コードに合わせてください。ただし，文字コード種別がUS-ASCIIの場合は，文字コードがsjis，ujis，またはutf-8のHiRDBに登録できます。

設定値の語尾のMS，JISはそれぞれマイクロソフト変換仕様，JIS変換仕様を表します。

デフォルト：UTF_8_MS

XMLSCHEMA

true/false

XMLSchemaによるXMLデータへの妥当性検証のtrue/falseを設定します。

デフォルト：false

REGULAR_FOR_TEXT

true/false

trueを指定した場合，タグ間テキストを正規化します。

falseを指定した場合，タグ間テキストを正規化しません。

デフォルト：true

ORIGINAL_XML

true/false

原文を保持するかどうかを設定します。

trueを指定した場合，原文を保持します。

falseを指定した場合，原文を保持しません。

デフォルト：true

注※

SJISを指定した場合，ESIS-B形式データの文字コードは実行環境のJavaVMに依存します。このため，Cosminexus Developer's Kit for JavaではSJIS_JISとなります。

発生する例外

発生する例外を次の表に示します。

表5‒12　 setPropertyで発生する例外

名称

要因

PrdbParameterException

引数として指定した値に誤りがあります。

使用例

PrdbXMLConverter converter = new PrdbXMLConverter();
converter.setProperty(PrdbXMLConverter.ENCODE,
                          PrdbXMLConverter.SJIS_MS);

注意事項

指定した設定は，このメソッド発行以降のPrdbXMLConverter.createESISBの結果に適用されます。

XMLデータへの妥当性検証，XMLSchemaによる妥当性検証にtrueを設定した場合，外部参照ファイルは設定にかかわらず必ず参照します。

setFilter

機能

変換するXMLデータに対して，XML構造のフィルタリングを行います。

形式

public boid setFilter(String FileName);

引数

FileName

XML構造によるフィルタリングを行うフィルタ情報定義ファイル名を指定します。

発生する例外

発生する例外を次の表に示します。

表5‒13　setFilterで発生する例外

名称

要因

IOException

フィルタ情報定義ファイルの読み込み時にエラーが発生しました。

NullPointerException

引数にnullが指定されています。

PrdbFilterException

フィルタ情報定義ファイルの記述に誤りがあります。

使用例

PrdbXMLConverter converter = new PrdbXMLConverter();
/* フィルターのセット */
converter.setFilter("filter.txt");

注意事項

setFilterを発行すると，それまでに指定していたフィルタ情報は消去されます。このため，setFilterを発行したときに例外が発生すると，フィルタは未設定の状態となります。

unsetFilter

機能

XMLデータに指定した，XML構造のフィルタリングを解除します。

形式

public boid unsetFilter();

使用例

/* フィルターのアンセット */
converter.unsetFilter();

5.7　例外クラス

この節では，例外クラスについて説明します。

説明

例外は，指定したXMLデータに誤りがある場合，またはクラスメッドの使用方法が誤っている場合などに発生します。これらの例外を通知することで，例外が発生した位置，例外発生の理由などの情報を取得できます。

パッケージ名称

JP.co.Hitachi.soft.HiRDB.XMLConverter

PrdbIllegalXMLExceptionクラス，PrdbParameterExceptionクラス，PrdbSystemErrorクラスを使用する場合は上記のパッケージ名称を使用してください。

インスタンスの生成

XML変換ライブラリの内部で発生したエラーを通知するために，XML変換ライブラリがインスタンスを生成します。このため，このクラスのインスタンスを生成する必要はありません。

スレッドへの対応

このクラスはマルチスレッドに対応していません。一つのインスタンスに対して複数のスレッドから同時にメソッドを発行しないでください。

次の表に示すメソッドの詳細については，以降で説明します。

表5‒14　メソッド（パブリックメソッド）一覧

メソッド名

機能

getMessage

エラー詳細の取得

getMessage

機能

例外発生の詳細理由を取得します。

形式

public String getMessage()

戻り値

例外発生の詳細理由を示す文字列を出力します。

クラス一覧

getMessageのクラス一覧を次の表に示します。

表5‒15　 getMessageのクラス一覧

名称

要因

PrdbIllegalXMLException

引数に指定したXMLデータファイルはXML変換ライブラリの制限に抵触しています。

PrdbParameterException

引数として指定した値に誤りがあります。

PrdbSystemError

内部矛盾が発生しています。

PrdbFilterException

引数に指定したフィルタ情報定義ファイルに誤りがあります。

org.xml.sax.SAXParseException

引数に指定したXMLデータファイルが不正です。

org.xml.sax.SAXException

XMLパーサがXMLデータファイルの解析を続行できません。

java.io.FileNotFoundException

引数に指定したXMLデータファイルまたは外部参照ファイルが開けません。

java.io.IOException

XMLデータファイルの変換中に入出力例外が発生しました。

org.xml.sax.SAXNotRecognizedException

XMLパーサが不正です。

org.xml.sax.SAXNotSupportedException

XMLパーサが不正です。

javax.xml.parsers.ParserConfigurationException

XMLパーサが不正です。

注意事項

createESISBメソッド発行時にSAXNotRecognizedException，SAXNotSupportedExceptionまたはParserConfigurationExceptionの例外が発生した場合は，クラスパスにCosminexus XML Proseccerのcsmjaxp.jarファイルが含まれていること，およびCosminexus XML Proseccer以外のXMLパーサがクラスパスに含まれていないことを確認してください。

内部矛盾が発生した場合，PrdbSystemErrorがthrowされると共に標準エラー出力に例外メッセージとスタックトレースが出力されます。

5.8　XMLのフィルタリング機能

XML Extensionでは，変換するXMLデータから不要な情報をフィルタリングすることができます。フィルタリング機能を使用することで，XMLデータ中の必要な情報だけを含めたESIS-B形式データを生成できます。

この節では，フィルタリング機能の使用方法について説明します。

5.8.1　フィルタリング指定項目一覧

ここでは，フィルタ情報定義ファイルに指定できる項目を一覧で示します。

フィルタ情報定義ファイルに指定できる項目の一覧を次の表に示します。

表5‒16　フィルタ情報定義ファイル指定項目一覧

指定項目

説明

encoding

フィルタ情報定義ファイルを記述する文字コードに次のどれかを指定します。文字コードは，先頭行に指定してください。指定を省略した場合，フィルタ情報定義ファイルはシフトJISとして扱われます。

shift_jis：シフトJIS

utf-8：utf-8

euc_jp：EUC_JP

deny

XMLデータの構造のうち，ESIS-B形式データに含めない構造名を指定します。

allow

denyで指定した構造の下位構造の中から，ESIS-B形式データに含める構造名を指定します。

absorb

fontタグなど，データ構造を表さない構造を削除します。

without attribute

XMLデータに存在するすべての属性情報を削除します。

trimdown ideographicspace

文字列情報の中の連続する全角スペースを，単一の全角スペースに置換します。

delete ideographicspace

文字列情報の中から連続する全角スペースを削除します。

delete space

文字列情報の中から半角スペースを削除します。

5.8.2　フィルタ情報定義ファイルの指定規則

ここでは，フィルタ情報定義ファイルの指定規則について説明します。

フィルタ情報定義ファイルは，任意の名称のファイルに文字コード指定で指定した文字コードで記述してください。また，フィルタ情報定義ファイルに記述した英大文字と英小文字は常に区別されます。

(1)　フィルタ情報定義ファイルの指定形式

フィルタ情報定義ファイルの指定形式を次に示します。

<フィルタ情報> ::=〔<文字コード指定>〕<フィルタ内容指定>…
<文字コード指定> ::= encoding=utf-8
<フィルタ内容指定> ::=｛<allow要素指定>｜<deny要素指定>｜<属性指定>｜
 　　     　　　　　　　｜<統合指定>｜<空白文字指定>｝

<allow要素指定> ::= allow△<要素指定>
<deny要素指定> ::= deny△<要素指定>
<属性指定> ::= without attribute
<統合指定> ::= absorb△<要素名>
<空白文字指定> ::=｛trimdown ideographicspace |
delete ideographicspace | delete space｝

<要素指定> ::=〔.〕｛<要素名>｜'*'｜'?'｝〔.｛<要素名>｜'*'｜'?'｝〕…
<要素名> ::=｛<文字>｜"'"<文字>"'"｝

注
* : 0個以上の任意の要素
? : 1個の任意の要素

なお，フィルタ情報定義ファイルを指定するときには次の点に注意してください。

文字コードは先頭行に指定し，2行目以降に必要なだけフィルタ内容を指定してください。このとき，個々の文字コード指定およびフィルタ内容指定は1行（1,023バイト以内）で記述してください。一つの指定を複数行に分割することはできません。

なお，行の先頭に「#」（シャープ）を記述すると，コメント行として扱われます。

「.」（ピリオド）で始まる要素指定は，最上位要素からの絶対要素指定となります。

ただし，最上位要素に対するフィルタリングはできません。

要素名に「.」が含まれる場合は，その要素名を「'」（アポストロフィ）で囲んでください。

（例）

要素名「文書.章1」を指定する場合は，「'文書.章1'.下位要素」と記述します。

(2)　フィルタリング指定項目の優先順位

フィルタリング指定項目の優先順位を次の表に示します。

表5‒17　フィルタリング指定項目の優先順位

順位

指定項目

1

without attribute

2※

allow，deny

3

absorb

4

delete ideographicspace，delete space

5

trimdown ideographicspace

注※

allowおよびdenyの優先順位については，「5.8.3　allowおよびdenyの指定例」を参照してください。

(3)　フィルタ情報定義ファイル指定時の注意事項

absorb指定による統合処理は，allowまたはdeny指定による文書構造のフィルタリングのあとに実行されます。また，属性情報は常に削除されます。

フィルタリング機能を使用する場合は，フィルタリング機能を使用しない場合と比べてESIS-B形式データの生成に時間が掛かります。このときの処理に掛かる時間は，フィルタリング情報の量に依存します。

ファイルの内容は，文字コード指定で指定した文字コードで記述してください。文字コード指定を省略する場合は，シフトJIS文字コードで記述してください。

文字コード指定は，次の機能に影響を与えます。

フィルタ情報定義ファイル自体の解釈

allowおよびdenyの，要素指定および統合指定の要素名解釈

delete ideographicspace，delete space，およびtrimdown ideographicspace指定の結果

without attributeを指定した場合も，名前空間指定は削除できません。

名前空間指定を含んだ要素に対してdenyまたはabsorbを指定した場合，指定されていた名前空間指定が削除されます。また，削除された名前空間が指定されていた属性および要素は，デフォルトの名前空間が指定されます。

5.8.3　allowおよびdenyの指定例

フィルタ情報定義ファイルで，allowおよびdenyを指定する例について説明します。

(1)　特定の構造だけを削除する場合

deny△構造名

指定した構造だけが削除されます。指定した構造が下位構造を持つ場合，下位構造は削除対象とはなりません。

(2)　特定の構造とその下位構造すべてを削除する場合

deny△構造名.*

「*」は0個以上の任意の構造として扱われるため，指定した構造とその下位構造すべてが削除対象となります。

(3)　特定の構造の下位構造すべてを削除する場合（指定した構造は削除しない）

deny△構造名.?.*

「?」は1個の任意構造として，「*」は0個以上の任意の構造として処理されます。「?.*」と指定した場合は，1個以上の任意の構造として扱われるため，指定した構造の1階層下にある構造とその下位構造すべてが削除対象となります。指定した構造は削除されません。

また，次のように指定しても同じ意味を持ちます。ただし，下記以外にもdenyまたはallowを組み合わせて指定した場合は，優先順位の関係で，意図した結果を得られないおそれがあります。

deny△構造名.*
allow△構造名

このように指定した場合は，特定の構造を含めたその下位構造すべてを削除対象としたあとに，特定の構造だけを抽出するように指定します。denyで指定した構造とその下位構造すべてが削除対象となりますが，allowで指定した構造は，deny指定が無効となり，削除されません。

「deny△本文.?.*」と指定した場合のフィルタリング例を次の図に示します。

図5‒2　下位構造すべて（指定した構造を除く）を削除する場合のフィルタリング例

(4)　特定の構造の下位にある特定の構造だけを抽出する場合

deny△構造名.?.*
allow△構造名.下位構造名

特定の構造の下位構造すべてを削除するように指定したあとで，ある特定の構造に対して削除を無効とするように指定します。

「allow△構造名.下位構造名」と指定した場合，allow対象となるのは，「下位構造名」の階層で出現する構造です。

「deny△プロパティ.?.*」および「allow△プロパティ.執筆者」と指定した場合のフィルタリング例を次の図に示します。

図5‒3　下位にある特定の構造だけを抽出する場合のフィルタリング例

(5)　最上位構造から指定する場合

allow△.構造名1.構造名2

先頭の構造名の直前に「.」（ピリオド）を付けることで，最上位からの指定として扱われます。

5.8.4　複合指定の例

allowまたはdenyと，absorbをあわせて指定した場合は，指定した順序とは関係なく，必ずallowまたはdenyの指定がabsorbの指定よりも先に処理されます。

allowまたはdenyと，absorbを複合指定した場合のフィルタリング処理例を次の図に示します。

図5‒4　複合指定した場合のフィルタリング例

5.9　XML変換ライブラリのエラーメッセージ

XML変換ライブラリのエラーメッセージについて説明します。

XML変換ライブラリでエラーが発生した場合，XML Extensionのユティリティのメッセージは標準エラー出力に，ESIS-B形式データ生成時にXML変換ライブラリが出力するメッセージは，ESIS-B形式データ生成時のメッセージにそれぞれ出力されます。

なおXML変換ライブラリのメッセージには，ここで説明した以外のメッセージが出力される場合もあります。詳細は「付録F　エラーメッセージ」を参照してください。

5.9.1　メッセージの記述形式

XML変換ライブラリのメッセージの記述形式を次に示します。

(1)　標準エラーに出力されるメッセージ

XXXXX-Y

メッセージテキスト

メッセージの意味を説明しています。

（P）メッセージを受け取ったプログラマの処置を示します。

［対策］メッセージを受け取ったHiRDB管理者の処置を示します。

(2)　ESIS-B形式データ生成時に出力されるメッセージ

KFPY99999-I (dddddd)xxxxx-y : zzzzz

dddddd：プラグインモジュール名

XML Extensionでは次のモジュール名が出力されます。

_phdxml：XMLデータ型プラグインで出力したメッセージ

xxxxx：XML ExtensionでのメッセージID

y：エラーメッセージの重要度

次のどれかが出力されます。

I：情報メッセージ

W：警告メッセージ

E：エラーメッセージ

zzzzz：XML Extensionの出力したメッセージ

KECXで始まるエラーメッセージはCosminexus XML Processorのエラーメッセージです。詳細はマニュアル「Cosminexus XML Processor　ユーザーズガイド」を参照してください。また，Java標準の例外にはエラーコードが含まれていません。詳細はエラーメッセージを参照してください。

なお，［対策］の「保守員に連絡してください」とは，購入時の契約に基づいて，システム管理者が弊社問い合わせ窓口へ連絡することを示します。

5.9.2　メッセージ一覧

(1)　標準エラーに出力されるメッセージ

70010-I

Usage:phdxmlcnv -h definition_file -e error_file -m {SJIS_MS | SJIS_JIS | SJIS | UTF_8_MS | UTF_8_JIS | EUC_JP | US_ASCII } [-r]

ユティリティコマンドの形式を示します。

［対策］なし

70011-W

phdxmlcnv command warning occurred

phdxmlcnvコマンドは終了しました。ただし，一部変換に失敗したXMLデータがあります。

［対策］エラーファイルに出力されるメッセージを参照し，XMLデータを見直してください。

70012-E

The environment value aa..aa can not specify bb..bb

環境変数の値が不正です。

aa..aa：環境変数名

bb..bb：指定している値

［対策］環境変数を見直してください。

70013-E

File aa..aa open Failed. detail=bb..bb

ファイルのオープンに失敗しました。

aa..aa：オープンに失敗したファイル名

bb..bb：詳細エラーメッセージ

［対策］ファイルを確認してください。

70014-E

File I/O error.filename=aa..aa detail=bb..bb

ファイルアクセス中にエラーが発生しました。

aa..aa：アクセス中にエラーが発生したファイル名

bb..bb：詳細エラーメッセージ

［対策］ファイルを確認してください。

(2)　 ESIS-B形式データ生成時に出力されるメッセージ

70000-E

Element name exceeds maximum length.

指定したXMLデータファイルには4,096バイトを超える要素名が含まれています。

［対策］出力に指定した文字コード換算で4,096バイトを超える要素名は使用できません。XMLデータファイルを見直してください。

70001-E

Attribute name exceeds maximum length.

指定したXMLデータファイルには4,096バイトを超える属性名が含まれています。

［対策］出力に指定した文字コード換算で4,096バイトを超える属性名は使用できません。XMLデータファイルを見直してください。

70002-E

Target of processing instruction exceeds maximum length.

指定したXMLデータファイルには4,096バイトを超える処理命令ノードのターゲット名が含まれています。

［対策］出力に指定した文字コード換算で4,096バイトを超える処理命令ノードのターゲット名は使用できません。XMLデータファイルを見直してください。

70003-E

Namespace prefix exceeds maximum length.

指定したXMLデータファイルには4,096バイトを超える名前空間接頭語が含まれています。

［対策］出力に指定した文字コード換算で4,096バイトを超える名前空間接頭語は使用できません。XMLデータファイルを見直してください。

70004-E

The depth of the hierarchy of the element exceeds a limit value.

指定したXMLデータ内の要素のネストが100を超えています。

［対策］要素のネストは最大100までです。XMLデータを見直してください。

70005-E

XML file exceeds maximum size.

指定したXMLデータのサイズがシステムの限界を超えています。

［対策］XMLデータのサイズを見直してください。

70006-E

Illegal property ID. :aa

setPropertyメソッドの第一引数に規定されていない値を指定しています。

aa：指定した値

［対策］setPropertyの引数を見直してください。

70007-E

Illegal property value. :aa

setPropertyメソッドの第二引数に規定されていない値を指定しています。

aa：指定した値

［対策］setPropertyの引数を見直してください。

70008-E

createESISB argument is null.

createESISBメソッドの引数にnullを指定しています。

［対策］createESISBの引数を見直してください。

70009-E

Fatal error occurred.detail=aa..aa

XML変換ライブラリ内で内部矛盾が発生しました。

aa..aa：内部矛盾の詳細メッセージ

［対策］保守員に連絡してください。

70016-E

Filter syntax error.filename=aa line=bb detail=cc..cc

指定したフィルタ情報定義ファイルの構文が間違っています。

aa：フィルタ情報定義ファイル名

bb：定義が間違っている行番号

cc..cc：間違っている定義の詳細情報

［対策］フィルタ情報定義ファイルを見直してください。

70017-E

Attribute "aa" was already specified for element "bb".

指定された属性は既に同一要素で定義されています。

aa：重複指定された属性名

bb：属性が定義されている要素名

［対策］XMLデータを見直してください。

6　推奨する運用方法

この章では，推奨するXML Extensionの運用方法について説明します。

6.1　推奨するデータ登録の運用方法

6.1.1　登録運用の種類

XML Extensionで提供している機能を利用して，次のような運用方法でデータを登録できます。

UAPの更新による運用

INSERT文またはUPDATE文を使用し，UAPでデータを登録する方法です。

バッチ登録による運用

HiRDBの「pdload（データベース作成ユティリティ）」を使用してデータを登録する方法です。

プラグインインデクスの遅延一括作成による運用

インデクスを作成しないでUAPでデータを登録します。UAPの終了後，一括してインデクスを作成する方法です。

XML Extensionは，プラグインインデクスの遅延一括作成機能をサポートしています。プラグインインデクスの遅延一括作成については，マニュアル「HiRDB システム運用ガイド」を参照してください。

インデクス作成方法に初期分割登録を指定してインデクスを作成する運用

大量のXMLデータまたは文字列データを表に登録したあと，空のインデクスだけを作成し，インデクス作成開始ユティリティを実行してインデクスへXMLデータまたは文字列データを登録する方法です。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

インデクス作成方法に分割遅延登録を指定してインデクスを作成する運用

インデクスを作成しないでUAPでデータを登録したあと，一括してインデクスを作成する方法です。

「プラグインインデクスの遅延一括作成による運用」に比べて，次の特長があります。

ユティリティを使用してインデクスを作成する場合，作成時間または作成件数を指定できるため，柔軟に運用できます。

遅延登録するかどうかを，列（インデクス）単位で指定できます。

登録・検索同時実行を併用することで，ユティリティによるインデクス作成中に検索が実行できます。

登録・検索同時実行による運用

排他制御の単位を小さくすることで，SQLによる登録と検索の同時実行を可能とする運用

登録運用の長所および短所を表6-1に，登録・検索同時実行による運用の長所および短所を表6-2に示します。

表6‒1　XML Extensionの登録運用の長所および短所

方式

長所

短所

UAPの更新による運用

INSERT文またはUPDATE文による通常の更新運用ができます

登録済みのデータの増大に伴い，登録時間および登録単位のログ量が増大します

バッチ登録による運用

一括してデータ更新ができます

1件ずつデータ登録するよりもログ量が削減できます※

なし

プラグインインデクスの遅延一括作成による運用

UAPのスループットが通常の更新に比べて向上します

ログ量はバッチ登録と同等です

登録データの検索がインデクスを作成するまで実行できません

インデクスは別途作成する必要があります。この間，処理中のXML型およびIXXML型に対する検索およびデータ更新はできません

UPDATE文を実行した場合，元データは削除されるため，検索対象外となります

インデクス作成方法に初期分割登録を指定してインデクス作成をする運用

インデクス作成時の処理時間が短くなります

インデクスへのXMLデータまたは文字列データの登録を時間を区切って実行できます

ログ量はバッチ登録と同じです

インデクス未登録状態のXMLデータまたは文字列データは，検索対象になりません

インデクス作成開始ユティリティを実行し，インデクスへXMLデータまたは文字列データを登録する必要があります

インデクス未登録状態のXMLデータまたは文字列データは，インクリメンタルの対象外になります

分割遅延登録による運用

UAPのスループットが通常の更新と比べて向上します

ログ容量はバッチ登録と同等です

インデクス作成時に，時間と件数を指定できます

登録・検索同時実行と併用できます

登録データの検索がインデクスを作成するまで実行できません

UPDATE文を実行した場合，元データは削除されるため検索対象外となります

注※

1件ずつ登録する場合，ログ量は通常の更新と同じです。

表6‒2　登録・検索同時実行による運用の長所および短所

方式

長所

短所

登録・検索同時実行による運用

SQLによる単数の更新系トランザクションと，複数の検索系トランザクションを同時に実行できます

インデクス未作成の場合，複数の更新系トランザクションを同時に実行できます

ほかのユーザが更新中（トランザクションが終了していない状態）のXMLデータまたは文字列データを検索できます

XML Extensionのデータの整合性を確保する排他制御のため，オーバヘッドが掛かります。また，排他制御が競合した場合，一時的に待ち時間が発生します

共用メモリが必要です

ロールバックによる回復処理中のRDエリアに対して検索した場合，「回復中であるため，検索できない」というエラーになる場合があります

登録・検索同時実行を使用しない運用

XML Extensionのデータの整合性確保のための排他制御によるオーバヘッドが掛かりません

共用メモリは不要です

更新系トランザクションと，ほかのトランザクションを同時に実行できません

6.1.2　推奨する登録運用

推奨するXML Extensionの登録運用には，次の3種類があります。

UAPの更新およびバッチ登録による運用

プラグインインデクスの遅延一括作成による運用

インデクス作成方法に初期分割登録を指定してインデクスを作成する運用

また，これらに加えて，次の2種類の登録運用があります。

登録・検索同時実行による運用

インデクス作成方法に分割遅延登録を指定してインデクスを作成する運用

以降，各運用方法について説明します。

(1)　UAPの更新およびバッチ登録による運用

(a)　運用方法

通常のHiRDBの運用に準じます。

(2)　プラグインインデクスの遅延一括作成による運用

(a)　運用方法

UAPでバッチ運用をする場合に推奨します。

削除要求（UPDATE文またはDELETE文）は即時反映しますが，追加要求は即時反映をしないためデータの整合性が確保できません。したがって，検索運用中の使用は推奨しません。

プラグインインデクスの遅延一括作成については，マニュアル「HiRDB システム運用ガイド」を参照してください。

(3)　インデクス作成方法に初期分割登録を指定してインデクスを作成する運用

(a)　インデクス作成方法指定の定義

インデクス作成方法指定に初期分割登録を定義してください。

(b)　運用方法

表に大量のXMLデータまたは文字列データを登録したあと，限られた時間単位でインデクスへXMLデータを登録する場合に使用を推奨します。インデクス作成開始ユティリティによって，すべてのXMLデータまたは文字列データがインデクスに登録されるまでは，データの整合性を確保できません。したがって，すべてのXMLデータまたは文字列データをインデクスに登録する前に検索を実行する場合には，使用を推奨しません。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

注意

インデクス未登録状態のXMLデータまたは文字列データがなくなれば，UAPによるデータ更新の運用，バッチ登録による運用，プラグインインデクスの遅延一括作成による運用に移行できます。

(4)　登録・検索同時実行による運用

(a)　登録・検索同時実行の定義

登録・検索同時実行を定義してください。

(b)　運用方法

SQLによる更新系トランザクションが，検索系トランザクションと同時に実行される環境での使用を推奨します。

注意

インデクス未作成の場合の更新系トランザクション，またはHiRDBのプラグインインデクスの遅延一括作成を使用している場合のINSERT文によって登録する更新系トランザクションは複数同時に実行できますが，それ以外の更新系トランザクションは複数同時に実行できません。

HiRDBが提供しているユティリティによる登録と検索系トランザクションは同時に実行できません。また，XML Extensionの一部のユティリティと検索系トランザクションは同時に実行できません。詳細は「3.　XML Extensionのユティリティ」を参照してください。

インデクスLOB用RDエリアに対してグローバルバッファを指定してください。グローバルバッファを指定しない場合に比べて，登録性能が向上します。

同時実行を設定している場合，データの整合性確保のために，一時的に排他制御をします。このため，同時実行を設定していない場合に比べて，排他制御によるオーバヘッドが掛かります。

ほかのユーザが更新中（トランザクションが終了していない状態）のXMLデータを検索できます。

(5)　インデクス作成方法に分割遅延登録を指定してインデクスを作成する運用

(a)　分割遅延登録用インデクスの定義

分割遅延登録用インデクスを定義するには，次の方法があります。

定義系SQLのCREATE INDEXによって定義します。

「phjmodidx（インデクス情報変更ユティリティ）」によって，インデクス定義を分割遅延登録用インデクスに変更します。

(b)　運用方法

UAPでバッチ運用する場合，次の手順で運用することを推奨します。

INSERT文またはUPDATE文を使用してデータを登録します。

運用の合間に，遅延されている情報をMASTERインデクスへ反映します。

インデクスの作成は，インデクス作成開始ユティリティを使用して実行します。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

検索処理とインデクス作成を同時実行する場合は，ユティリティ実行時に同時実行指定（-w nowait）を指定します。また，サーバ側の定義を登録・検索同時実行で定義します。

分割遅延登録を開始および終了する場合は，インデクス分割遅延登録運用変更ユティリティを使用します。運用形態に合わせて選択してください。インデクス分割遅延登録運用変更ユティリティの詳細については，「3.2.9　phjdelay（インデクス分割遅延登録運用変更ユティリティ）」を参照してください。

注意

削除要求（UPDATE文またはDELETE文）は即時反映します。しかし，追加要求は即時反映をしないため，データの整合性が確保できません。そのため，インデクス未作成XMLデータに対して検索が必要である場合は推奨しません。

分割遅延登録用領域の使用率が100%になると，それ以上分割遅延登録を実行できません。100%にならないように，インデクスへ反映してください。インデクスへの反映を時間・件数で中断する場合は，使用率は下がりません。

使用率を下げるためには，すべての未反映XMLデータまたは文字列をインデクスに反映してください。分割遅延登録用領域を使い切った場合のSQLコマンドについては，環境定義ファイルによって，エラーリターン／即時更新を選択できます。

即時更新へ切り替える際に，インデクス未登録XMLデータがあるときはすべて登録します。時間・件数による中断はできないので注意してください。

(6)　推奨する組み合わせ

登録運用を実行する場合の推奨するパラメタの組み合わせを次の表に示します。

表6‒3　登録運用で推奨するパラメタの組み合わせ

項番

create index文のプラグインオプション

環境定義ファイルの設定項目

phd_search_wait

phjstartidxの-wオプション

1

CREATEMODE=2

FLEX_AREA

wait

wait

2

CREATEMODE=2

FLEX_AREA

nowait

nowait

3

CREATEMODE=3

FLEX_AREA

nowait_with_update

nowait_with_update

項番1に適した業務

インデクス作成または更新をバッチで実行し，かつ，インデクス作成中にほかの業務を実行しない業務に適しています。なお，この業務では，データ更新と同時に全文検索を実行しないことが条件となります。

項番2に適した業務

インデクス作成または更新をバッチで実行し，かつ，インデクス作成中に検索を実行する業務に適しています。この場合，検索時には，SELECT文の排他オプションにWITHOUT LOCK NOWAITだけが指定できます。なお，この業務では，データ更新と同時に全文検索を実行しないことが条件となります。

項番3に適した業務

インデクス作成開始ユティリティを10〜30分間隔で定期的に実行して，データの更新から少しあと（10分〜1時間後）に，全文検索を実行する業務に適しています。また，インデクス作成，更新，または更新中に更新系SQLを実行する必要がある業務にも適しています。なお，検索時には，SELECT文の排他オプションにWITHOUT LOCK NOWAITだけが指定できます。

6.2　性能向上の運用

この節では，性能向上を目的とした機能，およびその運用方法について説明します。

6.2.1　グローバルバッファ管理の運用

XML Extensionのデータや，インデクス格納用RDエリアにグローバルバッファを指定すると，データの入出力でシステムに掛かる負荷を削減できます。

また，インデクス用グローバルバッファ管理方式は最適化指定ができます。最適化指定をすると，インデクスの管理情報を優先的にグローバルバッファに残すことで，最適化指定をしない場合に比べて，グローバルバッファを効率的に使用できます。グローバルバッファサイズを100メガバイト以上確保する場合は，最適化指定を行う運用を推奨します。最適化指定は，IXXMLインデクス型プラグインの環境定義ファイルに設定します。詳細については，「2.6.2　IXXMLインデクス型プラグインの環境設定」を参照してください。

6.3　ログおよびバックアップの取得方式

この節では，ログおよびバックアップを取得する方法について説明します。

6.3.1　登録運用のログ取得方式の設定

登録運用のログ取得方式には，次の3種類のモードがあります。あらかじめログ量の見積もりをして，ログを取得する領域が不足しないように運用してください。

ログ取得モード

更新前ログ取得モード

ログレスモード

各モードの推奨する運用方法について次に説明します。

(1)　ログ取得モード

UAPから登録する場合に推奨します。

また，ログ取得モードを選択する場合は，表定義の列回復制約にALLを指定してください。詳細については，マニュアル「HiRDB SQLリファレンス」を参照してください。

(2)　更新前ログ取得モード

HiRDBの「pdload（データベース作成ユティリティ）」使用時，および遅延更新機能からMASTERインデクスへの反映をする場合に推奨します。

更新が終わったあとは，必ずバックアップを取得してください。

更新前ログ取得モードの運用については，マニュアル「HiRDB システム運用ガイド」の「更新前ログ取得モードでUAPまたはユティリティを実行するときの運用」を参照してください。

(3)　ログレスモード

大量データに対するインデクス一括作成の場合に推奨します。ログを取得しない運用では，障害が発生した場合，データが回復されません。必ず，正常終了後にバックアップを取得してください。

ログレスモードの運用については，マニュアル「HiRDB システム運用ガイド」の「ログレスモードでUAPまたはユティリティを実行するときの運用」を参照してください。

なお，検索・登録同時実行では，ログレスモードは運用できません。

6.3.2　バックアップの取得方法

XML Extensionのデータのバックアップ，および運用環境のバックアップについて説明します。

(1)　データのバックアップ

データのバックアップは，HiRDBの「pdcopy（データベース複写ユティリティ）」で取得してください。pdcopyの使用方法は，マニュアル「HiRDB システム運用ガイド」および「HiRDB コマンドリファレンス」を参照してください。

(2)　運用環境のバックアップ

XML Extensionの運用環境のバックアップを行う場合は，HiRDBの各種設定に加えてXML Extensionとして次の情報のバックアップが必要です。

(a)　同義語辞書

同義語辞書のバックアップは，OSにより次のどちらかの方法で行ってください。

UNIXの場合

同義語辞書バックアップユティリティを使用します。同義語辞書バックアップユティリティの詳細については，「3.2.3　phdsyndicbkup（同義語辞書バックアップユティリティ）（UNIXの場合）」を参照してください。

Windowsの場合

次に示す同義語辞書データをコピーしてください。

%PDDIR%¥plugin¥_phdxml¥dic※

注※

ディレクトリ名称がdicで始まるすべてのディレクトリ，およびディレクトリ内ファイルをコピーします。

(b)　インデクス定義ファイル

次のディレクトリにインデクス定義ファイルが存在する場合は，コピーしてください。

UNIXの場合

$PDDIR/plugin/_phjxml/idx_def

英文デリミタファイル

英文削除コードファイル

英文不要語ファイル

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥idx_def

英文デリミタファイル

英文削除コードファイル

英文不要語ファイル

(c)　環境定義ファイル

次のディレクトリ，およびディレクトリ内のファイルをコピーしてください。

UNIXの場合

$PDDIR/plugin/_phjxml/conf

$PDDIR/plugin/_phdxml/conf

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥conf

%PDDIR%¥plugin¥_phdxml¥conf

6.4　XQuery変換式使用時の運用

XQuery変換式でXMLの内容を更新する場合は，ESIS-Bデータ形式に原文を持たない運用を推奨します。ESIS-Bデータ形式内の原文はXQuery変換式では更新されないため，ESIS-Bデータ形式内のXMLと原文が異なるデータになってしまうことを防ぐためです。また，原文を持たないことでテーブルのデータ容量を削減できます。原文を持たない運用をするためには，原文保持指定とXQuery変換式使用時の原文削除指定の設定を変更します。

また，原文なし時XML返却指定を設定すると，XQuery変換式で変換したXMLをextracts関数で出力できます。

原文保持指定，XQuery変換式使用時の原文削除指定，および原文なし時XML返却指定はXMLデータ型プラグインの環境設定で設定できます。詳細は「2.6.1(2)　設定できる項目」を参照してください。

付録

付録A　検索に使用できる文字

ここでは，XML Extensionで検索に使用できる文字と注意事項について説明します。

付録A.1　検索に使用できる文字

検索に使用できる文字を，表A-1，表A-2，および表A-3に示します。

表A‒1　検索に使用できる文字（HiRDBの文字コード種別がSHIFT-JISのとき）

文字種

長さ（バイト）

配置

1バイト目

2バイトコードの2バイト目

文字コード

1バイト

文字コード

1

0x20〜0x7E

0xA1〜0xDF

−

2バイト

文字コード

2

0x81〜0x9F

0xE0〜0xFC

0x40〜0x7E

0x80〜0xFC

制御コード

JIS制御

文字コード

1

0x09

−

表A‒2　検索に使用できる文字（HiRDBの文字コード種別がEUCのとき）（UNIXの場合）

文字種

長さ（バイト）

配置

1バイト目

2バイトコードの2バイト目

文字コード

1バイト

文字コード

1

0x20〜0x7E

−

2バイト

文字コード

2

0x8E

0xA1〜0xDF

0xA1〜0xFE

0xA1〜0xFE

制御コード

JIS制御

文字コード

1

0x09

−

表A‒3　検索に使用できる文字（HiRDBの文字コード種別がutf-8のとき）

コードポイント

1バイト

2バイト

3バイト

4バイト

U+00000009，U+00000020〜U+0000007E

09，20〜7E※

−

−

−

U+00000080〜U+000007FF

C280〜DFBF

−

−

U+00000800〜U+0000FFFF

E0A080〜EFBFBF

−

U+00010000〜U+0010FFFF

F0908080〜F48FBFBF

注※

UCS4の範囲の制御文字については，記述できない範囲があります。

付録A.2　検索する文字に関する注意

検索条件式に表A-1，表A-2，および表A-3に示す以外の文字を使用したり，HiRDBの文字コード種別と異なる文字を使用した場合，検索条件式のエラーが発生したり，検索結果が期待した結果と異なったりするときがあります。

付録B　ディレクトリおよびファイル構成

ここでは，XML ExtensionをHiRDBに登録したあとの，XMLデータ型プラグインとIXXMLインデクス型プラグインのディレクトリおよびファイル構成について説明します。

付録B.1　ディレクトリおよびファイル構成（UNIXの場合）

XML ExtensionをHiRDBに登録したあとの，XMLデータ型プラグインとIXXMLインデクス型プラグインのディレクトリおよびファイル構成を次の表に示します。

表B‒1　XMLデータ型プラグインとIXXMLインデクス型プラグインのディレクトリおよびファイル構成（UNIXの場合）

ディレクトリ名

ファイル名

説明

$PDDIR/plugin/_phdxml

−

XMLデータ型プラグインを格納するディレクトリ

$PDDIR/plugin/_phdxml/bin

−

XMLデータ型プラグインのユティリティを格納するディレクトリ

phdsyndicreg

同義語辞書登録ユティリティ

phdsyndicrm

同義語辞書削除ユティリティ

phdsyndicbkup

同義語辞書バックアップユティリティ

$PDDIR/plugin/_phdxml/conf

−

XMLデータ型プラグインのコンフィグレーションファイルを格納するディレクトリ

$PDDIR/plugin/_phdxml/dic

−

同義語辞書格納ディレクトリ

$PDDIR/plugin/_phdxml/dic_c

$PDDIR/plugin/_phdxml/dic_cd

$PDDIR/plugin/_phdxml/dic_cde

$PDDIR/plugin/_phdxml/dic_cdk

$PDDIR/plugin/_phdxml/dic_cdke

$PDDIR/plugin/_phdxml/dic_cdr

$PDDIR/plugin/_phdxml/dic_cdre

$PDDIR/plugin/_phdxml/dic_cdrk

$PDDIR/plugin/_phdxml/dic_cdrke

$PDDIR/plugin/_phdxml/dic_ce

$PDDIR/plugin/_phdxml/dic_ck

$PDDIR/plugin/_phdxml/dic_cke

$PDDIR/plugin/_phdxml/dic_cr

$PDDIR/plugin/_phdxml/dic_cre

$PDDIR/plugin/_phdxml/dic_crk

$PDDIR/plugin/_phdxml/dic_crke

$PDDIR/plugin/_phdxml/dic_cw

$PDDIR/plugin/_phdxml/dic_cwd

$PDDIR/plugin/_phdxml/dic_cwde

$PDDIR/plugin/_phdxml/dic_cwdk

$PDDIR/plugin/_phdxml/dic_cwdke

$PDDIR/plugin/_phdxml/dic_cwdr

$PDDIR/plugin/_phdxml/dic_cwdre

$PDDIR/plugin/_phdxml/dic_cwdrk

$PDDIR/plugin/_phdxml/dic_cwdrke

$PDDIR/plugin/_phdxml/dic_cwe

$PDDIR/plugin/_phdxml/dic_cwk

$PDDIR/plugin/_phdxml/dic_cwke

$PDDIR/plugin/_phdxml/dic_cwr

$PDDIR/plugin/_phdxml/dic_cwre

$PDDIR/plugin/_phdxml/dic_cwrk

$PDDIR/plugin/_phdxml/dic_cwrke

$PDDIR/plugin/_phdxml/dic_cwy

$PDDIR/plugin/_phdxml/dic_cwyd

$PDDIR/plugin/_phdxml/dic_cwyde

$PDDIR/plugin/_phdxml/dic_cwydk

$PDDIR/plugin/_phdxml/dic_cwydke

$PDDIR/plugin/_phdxml/dic_cwydr

$PDDIR/plugin/_phdxml/dic_cwydre

$PDDIR/plugin/_phdxml/dic_cwydrk

$PDDIR/plugin/_phdxml/dic_cwydrke

$PDDIR/plugin/_phdxml/dic_cwye

$PDDIR/plugin/_phdxml/dic_cwyk

$PDDIR/plugin/_phdxml/dic_cwyke

$PDDIR/plugin/_phdxml/dic_cwyr

$PDDIR/plugin/_phdxml/dic_cwyre

$PDDIR/plugin/_phdxml/dic_cwyrk

$PDDIR/plugin/_phdxml/dic_cwyrke

$PDDIR/plugin/_phdxml/dic_cy

$PDDIR/plugin/_phdxml/dic_cyd

$PDDIR/plugin/_phdxml/dic_cyde

$PDDIR/plugin/_phdxml/dic_cydk

$PDDIR/plugin/_phdxml/dic_cydke

$PDDIR/plugin/_phdxml/dic_cydr

$PDDIR/plugin/_phdxml/dic_cydre

$PDDIR/plugin/_phdxml/dic_cydrk

$PDDIR/plugin/_phdxml/dic_cydrke

$PDDIR/plugin/_phdxml/dic_cye

$PDDIR/plugin/_phdxml/dic_cyk

$PDDIR/plugin/_phdxml/dic_cyke

$PDDIR/plugin/_phdxml/dic_cyr

$PDDIR/plugin/_phdxml/dic_cyre

$PDDIR/plugin/_phdxml/dic_cyrk

$PDDIR/plugin/_phdxml/dic_cyrke

$PDDIR/plugin/_phdxml/dic_d

$PDDIR/plugin/_phdxml/dic_de

$PDDIR/plugin/_phdxml/dic_dk

$PDDIR/plugin/_phdxml/dic_dke

$PDDIR/plugin/_phdxml/dic_dr

$PDDIR/plugin/_phdxml/dic_dre

$PDDIR/plugin/_phdxml/dic_drk

$PDDIR/plugin/_phdxml/dic_drke

$PDDIR/plugin/_phdxml/dic_e

$PDDIR/plugin/_phdxml/dic_k

$PDDIR/plugin/_phdxml/dic_ke

$PDDIR/plugin/_phdxml/dic_r

$PDDIR/plugin/_phdxml/dic_re

$PDDIR/plugin/_phdxml/dic_rk

$PDDIR/plugin/_phdxml/dic_rke

$PDDIR/plugin/_phdxml/dic_w

$PDDIR/plugin/_phdxml/dic_wd

$PDDIR/plugin/_phdxml/dic_wde

$PDDIR/plugin/_phdxml/dic_wdk

$PDDIR/plugin/_phdxml/dic_wdke

$PDDIR/plugin/_phdxml/dic_wdr

$PDDIR/plugin/_phdxml/dic_wdre

$PDDIR/plugin/_phdxml/dic_wdrk

$PDDIR/plugin/_phdxml/dic_wdrke

$PDDIR/plugin/_phdxml/dic_we

$PDDIR/plugin/_phdxml/dic_wk

$PDDIR/plugin/_phdxml/dic_wke

$PDDIR/plugin/_phdxml/dic_wr

$PDDIR/plugin/_phdxml/dic_wre

$PDDIR/plugin/_phdxml/dic_wrk

$PDDIR/plugin/_phdxml/dic_wrke

$PDDIR/plugin/_phdxml/dic_wy

$PDDIR/plugin/_phdxml/dic_wyd

$PDDIR/plugin/_phdxml/dic_wyde

$PDDIR/plugin/_phdxml/dic_wydk

$PDDIR/plugin/_phdxml/dic_wydke

$PDDIR/plugin/_phdxml/dic_wydr

$PDDIR/plugin/_phdxml/dic_wydre

$PDDIR/plugin/_phdxml/dic_wydrk

$PDDIR/plugin/_phdxml/dic_wydrke

$PDDIR/plugin/_phdxml/dic_wye

$PDDIR/plugin/_phdxml/dic_wyk

$PDDIR/plugin/_phdxml/dic_wyke

$PDDIR/plugin/_phdxml/dic_wyr

$PDDIR/plugin/_phdxml/dic_wyre

$PDDIR/plugin/_phdxml/dic_wyrk

$PDDIR/plugin/_phdxml/dic_wyrke

$PDDIR/plugin/_phdxml/dic_y

$PDDIR/plugin/_phdxml/dic_yd

$PDDIR/plugin/_phdxml/dic_yde

$PDDIR/plugin/_phdxml/dic_ydk

$PDDIR/plugin/_phdxml/dic_ydke

$PDDIR/plugin/_phdxml/dic_ydr

$PDDIR/plugin/_phdxml/dic_ydre

$PDDIR/plugin/_phdxml/dic_ydrk

$PDDIR/plugin/_phdxml/dic_ydrke

$PDDIR/plugin/_phdxml/dic_ye

$PDDIR/plugin/_phdxml/dic_yk

$PDDIR/plugin/_phdxml/dic_yke

$PDDIR/plugin/_phdxml/dic_yr

$PDDIR/plugin/_phdxml/dic_yre

$PDDIR/plugin/_phdxml/dic_yrk

$PDDIR/plugin/_phdxml/dic_yrke

$PDDIR/plugin/_phdxml/etc

−

XMLデータ型プラグイン登録用ファイル格納ディレクトリ

_phdxml.adt

XMLデータ型プラグイン定義ファイル

_phdxml.pic

XMLデータ型プラグインPICファイル

$PDDIR/_phdxml/jcnv

−

XML変換ライブラリ格納ディレクトリ

phdxmlcnv

ESIS-B形式作成ユティリティ

XMLConverter.jar

XML変換ライブラリUAP用jarファイル

$PDDIR/plugin/_phdxml/sample

−

XMLデータ型プラグインのサンプルファイルを格納するディレクトリ

bes01

BES単位指定コンフィグレーションファイルサンプルファイル

SampleMakeESISB.java

XML変換ライブラリを使用したサンプルコーディング

pdplgsys

システム単位指定コンフィグレーションファイルサンプルファイル

pdplgutsys

ユニット単位指定コンフィグレーションファイルサンプルファイル

$PDDIR/plugin/_phdxml/spool

−

XMLデータ型プラグインの障害情報格納ディレクトリ

$PDDIR/plugin/_phdxml/tmp

−

作業用ファイル格納ディレクトリ

$PDDIR/plugin/_phjxml

−

IXXMLインデクス型プラグインを格納するディレクトリ

$PDDIR/plugin/_phjxml/bin

−

IXXMLインデクス型プラグインのユティリティを格納するディレクトリ

phjidxls

インデクス情報の取得ユティリティ

phjincmt

インデクス情報のインクリメンタルユティリティ

phjincrword

文字列指定インクリメンタルユティリティ

phjexpnd

インデクスの拡張ユティリティ

phjstartidx

インデクス作成開始ユティリティ

phjmodidx

インデクス情報変更ユティリティ

phjcond

インデクス詰め替えユティリティ

phjdelay

インデクス分割遅延登録運用変更ユティリティ

$PDDIR/plugin/_phjxml/conf

−

IXXMLインデクス型プラグインのコンフィグレーションファイルを格納するディレクトリ

$PDDIR/plugin/_phjxml/etc

−

IXXMLインデクス型プラグイン登録用ファイルを格納するディレクトリ

_phjxml.idx

IXXMLインデクス型プラグイン定義ファイル

_phjxml.pic

IXXMLインデクス型プラグインPICファイル

$PDDIR/plugin/_phjxml/sample

−

IXXMLインデクス型プラグインのサンプルファイルを格納するディレクトリ

pdplgsys

システム単位指定コンフィグレーションファイルのサンプルファイル

pdplgutsys

ユニット単位指定コンフィグレーションファイルのサンプルファイル

bes01

BES単位指定コンフィグレーションファイルのサンプルファイル

$PDDIR/plugin/_phjxml/spool

−

IXXMLインデクス型プラグインの障害情報格納ディレクトリ

$PDDIR/plugin/_phjxml/tmp

−

作業用ファイル格納ディレクトリ

（凡例）

−：該当しない。

付録B.2　ディレクトリおよびファイル構成（Windowsの場合）

XML ExtensionをHiRDBに登録したあとの，XMLデータ型プラグインとIXXMLインデクス型プラグインのフォルダおよびファイル構成を次の表に示します。

表B‒2　XMLデータ型プラグインとIXXMLインデクス型プラグインのフォルダおよびファイル構成（Windowsの場合）

フォルダ名

ファイル名

説明

%PDDIR%¥plugin¥_phdxml

−

XMLデータ型プラグインを格納するフォルダ

%PDDIR%¥plugin¥_phdxml¥bin

−

XMLデータ型プラグインのユティリティを格納するフォルダ

phdsyndicreg.exe

同義語辞書登録ユティリティ

phdsyndicrm.exe

同義語辞書削除ユティリティ

%PDDIR%¥plugin¥_phdxml¥conf

−

XMLデータ型プラグインのコンフィグレーションファイルを格納するフォルダ

%PDDIR%¥plugin¥_phdxml¥dic

−

同義語辞書格納フォルダ

%PDDIR%¥plugin¥_phdxml¥dic_c

%PDDIR%¥plugin¥_phdxml¥dic_cd

%PDDIR%¥plugin¥_phdxml¥dic_cde

%PDDIR%¥plugin¥_phdxml¥dic_cdk

%PDDIR%¥plugin¥_phdxml¥dic_cdke

%PDDIR%¥plugin¥_phdxml¥dic_cdr

%PDDIR%¥plugin¥_phdxml¥dic_cdre

%PDDIR%¥plugin¥_phdxml¥dic_cdrk

%PDDIR%¥plugin¥_phdxml¥dic_cdrke

%PDDIR%¥plugin¥_phdxml¥dic_ce

%PDDIR%¥plugin¥_phdxml¥dic_ck

%PDDIR%¥plugin¥_phdxml¥dic_cke

%PDDIR%¥plugin¥_phdxml¥dic_cr

%PDDIR%¥plugin¥_phdxml¥dic_cre

%PDDIR%¥plugin¥_phdxml¥dic_crk

%PDDIR%¥plugin¥_phdxml¥dic_crke

%PDDIR%¥plugin¥_phdxml¥dic_cw

%PDDIR%¥plugin¥_phdxml¥dic_cwd

%PDDIR%¥plugin¥_phdxml¥dic_cwde

%PDDIR%¥plugin¥_phdxml¥dic_cwdk

%PDDIR%¥plugin¥_phdxml¥dic_cwdke

%PDDIR%¥plugin¥_phdxml¥dic_cwdr

%PDDIR%¥plugin¥_phdxml¥dic_cwdre

%PDDIR%¥plugin¥_phdxml¥dic_cwdrk

%PDDIR%¥plugin¥_phdxml¥dic_cwdrke

%PDDIR%¥plugin¥_phdxml¥dic_cwe

%PDDIR%¥plugin¥_phdxml¥dic_cwk

%PDDIR%¥plugin¥_phdxml¥dic_cwke

%PDDIR%¥plugin¥_phdxml¥dic_cwr

%PDDIR%¥plugin¥_phdxml¥dic_cwre

%PDDIR%¥plugin¥_phdxml¥dic_cwrk

%PDDIR%¥plugin¥_phdxml¥dic_cwrke

%PDDIR%¥plugin¥_phdxml¥dic_cwy

%PDDIR%¥plugin¥_phdxml¥dic_cwyd

%PDDIR%¥plugin¥_phdxml¥dic_cwyde

%PDDIR%¥plugin¥_phdxml¥dic_cwydk

%PDDIR%¥plugin¥_phdxml¥dic_cwydke

%PDDIR%¥plugin¥_phdxml¥dic_cwydr

%PDDIR%¥plugin¥_phdxml¥dic_cwydre

%PDDIR%¥plugin¥_phdxml¥dic_cwydrk

%PDDIR%¥plugin¥_phdxml¥dic_cwydrke

%PDDIR%¥plugin¥_phdxml¥dic_cwye

%PDDIR%¥plugin¥_phdxml¥dic_cwyk

%PDDIR%¥plugin¥_phdxml¥dic_cwyke

%PDDIR%¥plugin¥_phdxml¥dic_cwyr

%PDDIR%¥plugin¥_phdxml¥dic_cwyre

%PDDIR%¥plugin¥_phdxml¥dic_cwyrk

%PDDIR%¥plugin¥_phdxml¥dic_cwyrke

%PDDIR%¥plugin¥_phdxml¥dic_cy

%PDDIR%¥plugin¥_phdxml¥dic_cyd

%PDDIR%¥plugin¥_phdxml¥dic_cyde

%PDDIR%¥plugin¥_phdxml¥dic_cydk

%PDDIR%¥plugin¥_phdxml¥dic_cydke

%PDDIR%¥plugin¥_phdxml¥dic_cydr

%PDDIR%¥plugin¥_phdxml¥dic_cydre

%PDDIR%¥plugin¥_phdxml¥dic_cydrk

%PDDIR%¥plugin¥_phdxml¥dic_cydrke

%PDDIR%¥plugin¥_phdxml¥dic_cye

%PDDIR%¥plugin¥_phdxml¥dic_cyk

%PDDIR%¥plugin¥_phdxml¥dic_cyke

%PDDIR%¥plugin¥_phdxml¥dic_cyr

%PDDIR%¥plugin¥_phdxml¥dic_cyre

%PDDIR%¥plugin¥_phdxml¥dic_cyrk

%PDDIR%¥plugin¥_phdxml¥dic_cyrke

%PDDIR%¥plugin¥_phdxml¥dic_d

%PDDIR%¥plugin¥_phdxml¥dic_de

%PDDIR%¥plugin¥_phdxml¥dic_dk

%PDDIR%¥plugin¥_phdxml¥dic_dke

%PDDIR%¥plugin¥_phdxml¥dic_dr

%PDDIR%¥plugin¥_phdxml¥dic_dre

%PDDIR%¥plugin¥_phdxml¥dic_drk

%PDDIR%¥plugin¥_phdxml¥dic_drke

%PDDIR%¥plugin¥_phdxml¥dic_e

%PDDIR%¥plugin¥_phdxml¥dic_k

%PDDIR%¥plugin¥_phdxml¥dic_ke

%PDDIR%¥plugin¥_phdxml¥dic_r

%PDDIR%¥plugin¥_phdxml¥dic_re

%PDDIR%¥plugin¥_phdxml¥dic_rk

%PDDIR%¥plugin¥_phdxml¥dic_rke

%PDDIR%¥plugin¥_phdxml¥dic_w

%PDDIR%¥plugin¥_phdxml¥dic_wd

%PDDIR%¥plugin¥_phdxml¥dic_wde

%PDDIR%¥plugin¥_phdxml¥dic_wdk

%PDDIR%¥plugin¥_phdxml¥dic_wdke

%PDDIR%¥plugin¥_phdxml¥dic_wdr

%PDDIR%¥plugin¥_phdxml¥dic_wdre

%PDDIR%¥plugin¥_phdxml¥dic_wdrk

%PDDIR%¥plugin¥_phdxml¥dic_wdrke

%PDDIR%¥plugin¥_phdxml¥dic_we

%PDDIR%¥plugin¥_phdxml¥dic_wk

%PDDIR%¥plugin¥_phdxml¥dic_wke

%PDDIR%¥plugin¥_phdxml¥dic_wr

%PDDIR%¥plugin¥_phdxml¥dic_wre

%PDDIR%¥plugin¥_phdxml¥dic_wrk

%PDDIR%¥plugin¥_phdxml¥dic_wrke

%PDDIR%¥plugin¥_phdxml¥dic_wy

%PDDIR%¥plugin¥_phdxml¥dic_wyd

%PDDIR%¥plugin¥_phdxml¥dic_wyde

%PDDIR%¥plugin¥_phdxml¥dic_wydk

%PDDIR%¥plugin¥_phdxml¥dic_wydke

%PDDIR%¥plugin¥_phdxml¥dic_wydr

%PDDIR%¥plugin¥_phdxml¥dic_wydre

%PDDIR%¥plugin¥_phdxml¥dic_wydrk

%PDDIR%¥plugin¥_phdxml¥dic_wydrke

%PDDIR%¥plugin¥_phdxml¥dic_wye

%PDDIR%¥plugin¥_phdxml¥dic_wyk

%PDDIR%¥plugin¥_phdxml¥dic_wyke

%PDDIR%¥plugin¥_phdxml¥dic_wyr

%PDDIR%¥plugin¥_phdxml¥dic_wyre

%PDDIR%¥plugin¥_phdxml¥dic_wyrk

%PDDIR%¥plugin¥_phdxml¥dic_wyrke

%PDDIR%¥plugin¥_phdxml¥dic_y

%PDDIR%¥plugin¥_phdxml¥dic_yd

%PDDIR%¥plugin¥_phdxml¥dic_yde

%PDDIR%¥plugin¥_phdxml¥dic_ydk

%PDDIR%¥plugin¥_phdxml¥dic_ydke

%PDDIR%¥plugin¥_phdxml¥dic_ydr

%PDDIR%¥plugin¥_phdxml¥dic_ydre

%PDDIR%¥plugin¥_phdxml¥dic_ydrk

%PDDIR%¥plugin¥_phdxml¥dic_ydrke

%PDDIR%¥plugin¥_phdxml¥dic_ye

%PDDIR%¥plugin¥_phdxml¥dic_yk

%PDDIR%¥plugin¥_phdxml¥dic_yke

%PDDIR%¥plugin¥_phdxml¥dic_yr

%PDDIR%¥plugin¥_phdxml¥dic_yre

%PDDIR%¥plugin¥_phdxml¥dic_yrk

%PDDIR%¥plugin¥_phdxml¥dic_yrke

%PDDIR%¥plugin¥_phdxml¥etc

−

XMLデータ型プラグイン登録用ファイル格納フォルダ

_phdxml.adt

XMLデータ型プラグイン定義ファイル

_phdxml.pic

XMLデータ型プラグインPICファイル

%PDDIR%¥plugin¥_phdxml¥jcnv

−

XML変換ライブラリの格納フォルダ

phdxmlcnv.bat

ESIS-B形式作成ユティリティ

XML_Converter.jar

XML変換ライブラリUAP用jarファイル

%PDDIR%¥plugin¥_phdxml¥sample

−

XMLデータ型プラグインのサンプルファイルを格納するフォルダ

bes01

BES単位指定コンフィグレーションファイルのサンプルファイル

SampleMakeESISB.java

XML変換ライブラリを使用したサンプルコーディング

pdplgsys

システム単位指定コンフィグレーションファイルのサンプルファイル

pdplgutsys

ユニット単位指定コンフィグレーションファイルのサンプルファイル

%PDDIR%¥plugin¥_phdxml¥spool

−

XMLデータ型プラグインの障害情報格納フォルダ

%PDDIR%¥plugin¥_phdxml¥tmp

−

作業用ファイル格納フォルダ

%PDDIR%¥plugin¥_phjxml

−

IXXMLインデクス型プラグインを格納するフォルダ

%PDDIR%¥plugin¥_phjxml¥bin

−

IXXMLインデクス型プラグインのユティリティを格納するフォルダ

phjidxls.exe

インデクス情報の取得ユティリティ

phjincmt.exe

インデクス情報のインクリメンタルユティリティ

phjincrword.exe

文字列指定インクリメンタルユティリティ

phjexpnd.exe

インデクスの拡張ユティリティ

phjstartidx.exe

インデクス作成開始ユティリティ

phjcond.exe

インデクス詰め替えユティリティ

phjmodidx.exe

インデクス情報変更ユティリティ

phjdelay.exe

インデクス分割遅延登録運用変更ユティリティ

%PDDIR%¥plugin¥_phjxml¥conf

−

IXXMLインデクス型プラグインのコンフィグレーションファイルを格納するフォルダ

%PDDIR%¥plugin¥_phjxml¥etc

−

IXXMLインデクス型プラグイン登録用ファイル格納フォルダ

_phjxml.idx

IXXMLインデクス型プラグイン定義ファイル

_phjxml.pic

IXXMLインデクス型プラグインPICファイル

%PDDIR%¥plugin¥_phjxml¥sample

−

IXXMLインデクス型プラグインのサンプルファイルを格納するフォルダ

pdplgsys

システム単位指定コンフィグレーションファイルのサンプルファイル

pdplgutsys

ユニット単位指定コンフィグレーションファイルのサンプルファイル

bes01

BES単位指定コンフィグレーションファイルのサンプルファイル

%PDDIR%¥plugin¥_phjxml¥spool

−

IXXMLインデクス型プラグインの障害情報格納フォルダ

%PDDIR%¥plugin¥_phjxml¥tmp

−

作業用ファイル格納フォルダ

（凡例）

−：該当しない。

付録C　資源の排他

XML Extensionは，HiRDBの資源である論理ファイルを使用する場合があり，HiRDBの排他制御の規則に従っています。

ここでは，XML Extensionが使用する資源の排他規則について説明します。

付録C.1　排他取得内容

(1)　XMLデータ型プラグインおよびIXXMLインデクス型プラグインの場合

XMLデータ型プラグインおよびIXXMLインデクス型プラグインの論理ファイルに対する排他制御のモードを表C-1および表C-2に示します。論理ファイルとHiRDBの排他制御の詳細については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

表C‒1　SQL実行時の排他制御のモード（SQLに対応した論理ファイルの使用）

SQL文

XMLデータ型プラグイン

IXXMLインデクス型プラグイン

同時実行なし

同時実行あり

同時実行なし

同時実行あり

検索

×

×

PR

SR

更新

×

×

EX

PU※

追加

×

×

EX

PU※

削除

×

×

EX

PU※

LOCK文

×

×

×

×

表削除

×

×

×

×

インデクス定義

×

×

EX

EX

インデクス削除

×

×

×

×

全行削除

×

×

EX

PU※

表定義変更

×

×

×

×

（凡例）

PR：共用モード

EX：排他モード

SR：意図共用モード

PU：共用意図排他モード

×：同時実行できません。

注※

データ更新時は，XML Extensionのデータの整合性確保のために一時的に排他モード（EX）へ遷移しますが，整合性確保後，遷移前の排他制御のモードへ戻ります。

表C‒2　ユティリティコマンドの排他制御のモード

ユティリティコマンド

表格納

RD

エリア

抽象データ型

列定義

LOB用RD

エリア

表

ノーウエイト表

インデクス格納RD

エリア

インデクス

ページ

行

キー値

論理ファイル

phjidxls

−

−

−

−

ex/sr

−

−

−

−

ex/sr

phjincmt

−

−

−

−

ex

−

−

−

−

ex

phjexpnd

−

−

−

−

ex

−

−

−

−

ex

phjmodidx

−

−

−

−

ex

−

−

−

−

ex

phjstartidx

SR

SR

PR

−

SU

EX/PU

−

−

−

EX/PU

phjcond

−

−

−

−

ex

−

−

−

−

ex

phjdelay

SR

SR

PR

−

EX

EX

−

−

−

EX

（凡例）

PR：共用モード

EXまたはex：排他モード

SRまたはsr：意図共用モード

SU：意図排他モード

PU：共用意図排他モード

−：該当しません。

注

大文字は，表またはインデクスが存在するすべてのサーバ上で排他を取得します。

小文字は，指定されたRDエリアが存在するサーバ上でだけ排他を取得します。

付録C.2　デッドロックの防止

デッドロックを防止するために注意する点を次に示します。

XML型列を含む表の行に対して，同一トランザクション内で行削除（DELETE）に続いてほかの処理を実行した場合，デッドロックが発生するおそれがあります。この場合は，行削除（DELETE）のあとにコミット（COMMIT）を実行してください。

XML型列を複数定義した場合，デッドロックが発生するおそれがあります。この場合は，LOCK TABLEを指定してください。

付録D　障害発生時の運用方法

XML Extensionで障害が発生した場合，HiRDBの管理者は出力されたメッセージを確認し，「付録F　エラーメッセージ」を参照して，障害の原因を調べてください。

出力されたメッセージがHiRDB本体からの場合，必要な処置はHiRDBの障害発生時の運用に従います。マニュアル「HiRDB メッセージ」または「HiRDB システム運用ガイド」を参照して対処してください。

ここでは，XML Extension固有の運用について次に示します。

XML Extension実行時に障害が発生した場合は，障害情報を出力します。障害情報が不要となった場合は，次のディレクトリ内のファイルをすべて削除してください。ファイルの削除は，HiRDBを停止させたあとで実行してください。

UNIXの場合

$PDDIR/plugin/_phdxml/spool
$PDDIR/plugin/_phdxml/tmp
$PDDIR/plugin/_phjxml/spool
$PDDIR/plugin/_phjxml/tmp

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥spool
%PDDIR%¥plugin¥_phdxml¥tmp
%PDDIR%¥plugin¥_phjxml¥spool
%PDDIR%¥plugin¥_phjxml¥tmp

付録E　系切り替え

ここでは，XML Extensionの系切り替え運用について説明します。

HiRDBの系切り替え運用を行う場合は，HiRDBの各種設定に加えてXML Extensionで，次の設定が必要です。

付録E.1　同義語辞書

同義語辞書は待機系にも設定する必要があります。辞書の登録は次のどちらかの方法で行なってください。

待機系を起動した状態で，phdsyndicregコマンドを使って待機系に同義語辞書を登録する。

実行系に登録されている次の同義語辞書データを待機系にコピーする。

UNIXの場合

$PDDIR/plugin/_phdxml/dic※

Windowsの場合

%PDDIR%¥plugin¥_phdxml¥dic※

注※

ディレクトリ名称がdicで始まるすべてのディレクトリ，およびディレクトリ内ファイルを待機系にコピーします。

付録E.2　インデクス定義ファイル

次のディレクトリにインデクス定義ファイルが存在する場合は，待機系にコピーします。

UNIXの場合

$PDDIR/plugin/_phjxml/idx_def

英文デリミタファイル

英文削除コードファイル

英文不要語ファイル

Windowsの場合

%PDDIR%¥plugin¥_phjxml¥idx_def

英文デリミタファイル

英文削除コードファイル

英文不要語ファイル

付録E.3　環境定義ファイル

待機系は実行系と同じ定義で運用してください。

ただし，メモリ・排他資源数などのマシン環境に依存する部分については，待機系マシンに合わせた設定としてください。

付録F　エラーメッセージ

ここでは，XML Extensionのエラーメッセージについて説明します。

XML Extensionでエラーが発生した場合，ユーザエラーのメッセージはSQL連絡領域に，システムで発生したエラーのメッセージはメッセージログに，XML Extensionのユティリティのメッセージは標準エラー出力にそれぞれ出力されます。

付録F.1　 SQL連絡領域に出力されるメッセージの形式

(1)　エラーコードの詳細化指定をしない場合

エラーコードの詳細化指定をしない場合，SQL連絡領域にメッセージが返却されるときは，HiRDBのメッセージKFPA11997-Eとともに出力されます。出力される形式を次に示します。

KFPA11997-E Error occurred during execution of PLUGIN function, "aa....aa"

メッセージの詳細については，「付録F.4（1）　SQL連絡領域に出力されるメッセージ（エラーコードの詳細化指定をしない場合）」を参照してください。

(2)　エラーコード詳細化指定をする場合

エラーコードの詳細化指定をする場合，SQL連絡領域にメッセージが返却されるときは，HiRDBのメッセージKFPA18xxx-Eとともに出力され，SQLコード-3xxxを返却します。出力される形式を次に示します。なお，エラーコード詳細化するかどうかは，環境定義ファイルで指定します。指定のしかたについては，「2.6.1（2）　設定できる項目」を参照してください。

KFPA18xxx-E (dd....dd)aa....aa

dd....dd：プラグインモジュール名

XML Extensionでは次のどれかが出力されます。

_phjxml：IXXMLインデクス型プラグインで出力したメッセージ

_phdxml：XMLデータ型プラグインで出力したメッセージ

aa....aa：

XML Extensionが出力したメッセージが設定されます。

xxx：

XML Extensionが出力したSQLコードの下3けたが設定されます。

出力されるSQLコードを次に示します。

表F‒1　SQLコード一覧

分類

詳細要因

対処

SQLコード

リトライ可能エラー

排他エラー，またはロールバック中に実行

再実行してください。

-3000

メモリ不足

再実行してください。

システムリソースを見積もり直して再実行してください。

-3001

リソース関連エラー

共用メモリ不足

リソース定義を見直してください。

-3020

RDエリア容量不足

リソースを見積もり直してください。

-3021

その他リソース不足

リソースを見積もり直して再実行してください。

-3022

登録データエラー

データ不正

登録データを見直してください。

-3040

SQLエラー

検索条件不正

（文法エラー）

検索条件を見直してください。

-3061

CREATE TABLE／CREATE INDEX定義情報不正

PLUGIN句を見直してください。

-3062

各種制限オーバー

定義ファイルを見直してください。

検索条件を見直してください。

-3063

検索条件不正／実行機能不正

検索条件を見直してください。

インデクスを見直してください。

-3064

運用修正

運用定義不正

運用定義を見直してください。

-3080

各種定義ファイル内容不正，またはインデクスが存在しない

各定義ファイルを見直して再実行してください。

インストール環境を見直してください。

運用環境を見直してください。

-3081

関連プログラム不足

関連プログラムを見直してください。

-3082

環境不正（ファイル指定，ディスク）

OSファイルI／Oエラー

ファイルおよびディスクを確認してから，必要に応じて回復作業をしてください。

-3100

DBファイルI／Oエラー

ディスクを確認してから，必要に応じて回復作業をしてください。

-3101

その他

HiRDBエラー

HiRDBのメッセージに従って対処してください。

保守員に連絡してください。

-3200

サーバエラー

システム管理者に連絡してください。

-3201

HiRDBセットアップ文字コード不正

システム管理者に連絡してください。

-3202

システムエラー

保守員に連絡してください。

-3299

付録F.2　メッセージログまたは標準エラー出力に出力されるメッセージ

エラーメッセージがメッセージログまたは標準エラー出力に出力される場合，HiRDBのメッセージKFPY99999-Iとともに出力されます。出力される形式を次に示します。

KFPY99999-I (dddddd)xxxxx-y : zzzzz

メッセージの詳細については，「付録F.4（3）　メッセージログに出力されるメッセージ」を参照してください。

付録F.3　メッセージの記述形式

このマニュアルで説明するメッセージの記述形式を次に示します。

(1)　SQL連絡領域に出力されるメッセージの記述形式

メッセージテキスト

メッセージの意味を説明しています。

（P）メッセージを受け取ったプログラマの処置を示します。

［対策］メッセージを受け取ったHiRDB管理者の処置を示します。

また，メッセージ中に検索条件式のオフセットを出力する場合，オフセット値が不明のときは「-1」を出力します。

なお，［対策］の「保守員に連絡してください」とは，購入時の契約に基づいて，システム管理者が弊社問い合わせ窓口へ連絡することを示します。

(2)　メッセージログまたは標準エラー出力に出力されるメッセージの記述形式

XXXXX-Y

メッセージテキスト

メッセージの意味を説明しています。

（P）メッセージを受け取ったプログラマの処置を示します。

［対策］メッセージを受け取ったHiRDB管理者の処置を示します。

なお，［対策］の「保守員に連絡してください」とは，購入時の契約に基づいて，システム管理者が弊社問い合わせ窓口へ連絡することを示します。

付録F.4　メッセージ一覧

(1)　SQL連絡領域に出力されるメッセージ（エラーコードの詳細化指定をしない場合）

ここでは，エラーコードの詳細化指定をしない場合のSQL領域に出力されるエラーメッセージを示します。なお，メッセージIDのあとの[XML Extension]は，同一のエラーメッセージを出力するほかのプラグインと区別するための情報です。そのため，実際には出力されません。

KFPA11997-E [XML Extension]

Error occurred during execution of PLUGIN function, "aa....aa"

aa....aaにXML Extensionが出力したメッセージが設定されます。

（P）aa....aaのメッセージに従って対処してください。

aa....aaのメッセージは，次を参照してください。

Asterisk symbol exists between pipe symbol and term.

前方一致，後方一致指定の「|」（パイプ）とターム条件の間に「*」（ワイルドカード）が指定されています。

（P）検索条件式を修正して再実行してください。

Attribute exist in specific_and. offset=aa

特定構造検索指定に属性指定があります。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Brace symbol not match in condition.

検索条件式中の波括弧（ ｛ ，｝ ）が対応していません。

（P）検索条件式を修正して再実行してください。

Bracket symbol not match in condition.

検索条件式中の角括弧（ ［ ，］ ）が対応していません。

（P）検索条件式を修正して再実行してください。

Cannot open kanarule file. errno=aa file=bb

カタカナルールファイルのオープンに失敗しました。

aa：エラー番号

bb：カタカナルールファイル名

［対策］保守員に連絡してください。

Cannot read kanarule file. errno=aa file=bb

カタカナルールファイルの読み込みに失敗しました。

aa：エラー番号

bb：カタカナルールファイル名

［対策］保守員に連絡してください。

Cannot seek kanarule file. errno=aa file=bb

カタカナルールファイルのシークに失敗しました。

aa：エラー番号

bb：カタカナルールファイル名

［対策］保守員に連絡してください。

Cannot specify "EXNOT" in english condition.

英文検索では，検索因子にEXNOT（拡張NOT指定）を指定できません。

（P）検索条件式を修正して再実行してください。

Cannot specify term of one character in proximity.

ワイルドカード検索または近傍検索に1文字の検索条件が含まれています。

（P）検索条件を変更して再実行してください。

Column not identified.

表・列が特定できません。

（P）抽象データ型関数の列指定にIXXML型列が正しく指定されているか確認してください。IXXML型列を指定して再実行してください。

Comma not exist. offset=aa

検索条件式中の指定が必要な個所に「,」（コンマ）が見つかりません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Comma symbol not exist in condition.

検索条件式中の指定が必要な個所に「,」（コンマ）が見つかりません。

（P）検索条件式を修正して再実行してください。

Config File I/O error.filename=aa..aa,func=bb..bb,code=XX,file=cc..cc,line=YY

コンフィグレーションファイルのアクセス中にエラーを検出しました。

aa..aa：ファイル名

bb..bb：オペレーション

XX：詳細情報

cc..cc：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

（P）HiRDB管理者に連絡してください。

［対策］メッセージログの内容を確認し，メッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

Define file not exist.filename= aa..aa,func=bb..bb,file=cc..cc,line=XX

指定されたインデクスデリミタファイル，不要語ファイル，または削除コードファイルが存在しません。または，指定できる個数の上限を超えています。

aa..aa：ファイル名

bb..bb：オペレーション

cc..cc：エラーの発生したファイル

XX：エラーの発生した行

［対策］プラグインオプションに指定したファイル名称を確認してください。

Document size is 0 bytes.

登録しようとしているXMLデータのデータサイズが，0バイトです。

（P）XMLデータサイズが0バイトのXMLデータを登録する場合は，NULL値を登録してください。

Document size is too large.

登録しようとしたXMLデータのデータサイズが，XML Extensionの制限値を超えています。

（P）登録XMLデータのサイズをXML Extensionの制限値以下にしてください。

Double quote symbol not exist in condition.

単純文字列指定の前後に必要な「"」（ダブルクォーテーション）が見つかりません。

（P）検索条件式を修正して再実行してください。

Each definition unmatch. value1=Index Option aa, value2=bb

aaとbbの定義の組み合わせは，実行できない組み合わせです。

aa：CREATE INDEXのプラグインオプションに指定したインデクス作成方法

bb：環境定義またはユティリティで指定した同時実行指定（"Lockmode"）

（Ｐ）aaとbbの定義内容を見直してください。

aa=CREATEMODE=3，bb=Lockmodeの場合，データ型プラグインの環境定義ファイルのphd_search_waitに「nowait_with_update」が指定されているかどうかを確認してください。

また，インデクス作成開始ユティリティ（phjstartidx）の-wオプションに，「nowait_with_update」が指定されているかどうかを確認してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

Enable to use n-gram index.

全文検索対象に指定したXML型の列に，インデクスが定義されていないため，全文検索できません。

または，発行した抽象データ型関数がインデクス専用関数のため，インデクスを使用した検索ができません。

（P）インデクスを定義していない場合は，その列に対してCREATE INDEXでインデクスを定義してください。

または，SQL文を見直して再実行してください。なお，インデクス型プラグイン専用関数の制限については，マニュアル「HiRDB UAP開発ガイド」を参照してください。

English option extend term library error occurred.(aa..aa,bb..bb)

Text Search Enhancer for Englishのライブラリでエラーが発生しました。

aa..aa：詳細情報

bb..bb：エラーの発生したファイル名

［対策］保守員に連絡してください。

Equal not exist. offset=aa

検索条件式中の指定が必要な個所に＝（イコール）がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Error exists in exclusion character of search term.

検索タームの除外文字指定に誤りがあります。

（P）検索タームを修正して再実行してください。

Error in Plugin Option aa(XX)

プラグインオプションの指定に誤りがあります。

aa：エラーの発生したファイル

XX：エラーの発生した行

［対策］プラグイン指定を修正し，再実行してください。

Error occurred in Text Search Plug-in.reason=aa..aa

エラーが発生しました。

aa..aa：エラー要因

MEMORY：サーバでメモリ不足が発生しています。

HiRDB：HiRDBのサービスでエラーが発生しています。

TS Plug-in：XML Extensionでエラーが発生しています。

（P）エラー要因がMEMORYの場合は，しばらく待って再実行してください。それでも，エラーが発生する場合はHiRDB管理者に連絡してください。

エラー要因がMEMORY以外の場合は，HiRDB管理者に連絡してください。

［対策］エラー要因がMEMORYの場合は，システムのメモリ状態を確認してください。そのほかの場合は，システムログメッセージの内容に従って対処してください。

Expand search exceeds maximum counts.(XX)

最大同義語異表記展開数を超える検索が実行されました。

XX：最大同義語異表記展開数

（P）検索タームを変更して再実行してください。

Fail to lock aa..aa.

aa..aaの排他に失敗しました。IXXMLインデクス用RDエリアまたはXMLデータ用RDエリアへのアクセスが競合しています。

aa..aa：RDエリア種別

Index File：IXXMLインデクス用RDエリア

XML Logical File：XMLデータ用RDエリア

（P）しばらく待って再実行してください。

［対策］

デッドロックが発生している場合

ユーザプログラムの資源排他を見直してください。

資源排他待ちによるタイムアウトが発生している場合

システム定義，ユニット定義に指定した排他待ち限界経過時間（pd_lck_wait_time）を見直してください。

Fail to lock because file is over the process limit. filename=aa..aa, line=bb..bb.

１プロセスのオープンファイル数が上限を超えました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

（P）しばらく待って再実行してください。

［対策］再実行の際にも同様のエラーが発生した場合には，プロセスごとに対応してください。

HiRDBのサーバプロセスの場合

HiRDB管理者に連絡してください。

ユーザ起動によるプロセス（コマンドまたはユティリティ）の場合

OSのパラメタのmaxfilesの設定値を変更してください。

Fail to lock because file is over the system limit. filename=aa..aa, line=bb..bb.

システム全体のオープンファイル数が上限を超えました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

（P）しばらく待って再実行してください。

［対策］再実行の際にも同様のエラーが発生した場合には，次に示すように対応してください。

OSのパラメタのnfileの設定値を変更する。

コマンドを実行したサーバマシンで動作している不要なプロセスを停止する。

コマンドを実行しない。

Fail to lock because of time over. file=aa..aa, line=bb..bb.

資源排他待ちによるタイムアウトが発生しました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

（P）しばらく待って再実行してください。

［対策］システム定義，ユニット定義に指定した排他待ち限界経過時間（pd_lck_wait_timeout）を見直してください。

Fail to lock. file=aa..aa line=bb..bb.

排他に失敗しました。

aa..aa：ファイル名

bb..bb.：オペレーションを発行した行

（P）しばらく待って再実行してください

［対策］このメッセージの前後にKFPS00441-I，KFPS00451-Iメッセージが出力されている場合はそれに従って対処してください。

Fail to thread lock. filename=aa..aa, line=bb..bb.

排他に失敗しました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

（P）しばらく待って再実行してください。

Fatal error occurred. detail= aa.aa,file= bb..bb ,line= XX

システム内部で自己矛盾を検出しました。

aa..aa：詳細情報

bb..bb：エラーの発生したファイル名

XX：エラーの発生した行

（P）保守員に連絡してください。

File format error. filename=aa..aa,detail=bb..bb,line=XX,offset=YY

ファイル形式が不正です。

aa..aa：ファイル名

bb..bb：詳細情報

XX：エラーが発生した行

YY：エラーが発生した位置（バイト数）

［対策］ファイルを修正して問題を取り除いてから再実行してください。

File I/O error. filename=aa..aa ,func=bb..bb ,code=XX ,file= cc..cc ,line= YY

システムファイルのアクセス中にエラーを検出しました。

aa..aa：ファイル名

bb..bb：オペレーション

XX：詳細情報

cc..cc：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

（P）HiRDB管理者に連絡してください。

［対策］メッセージログの内容を確認し，メッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

File open error. filename = aa..aa , code =XX

aa..aaに示されるファイルのオープンに失敗しました。

aa..aa：オープンできなかったファイル名

XX：詳細情報

（P）HiRDB管理者に連絡してください。

［対策］メッセージログの内容を確認し，それに従って対処してください。出力されていない場合は，保守員に連絡してください。

File size is over the system limit. filename = aa..aa

aa..aaに示されるファイル容量がシステムの上限を超えました。

aa..aa：ファイル名

（P）ファイル名が"Search Work File"の場合，検索条件を変更して再実行してください。ファイル名が"Search Work File"以外の場合，HiRDB管理者に連絡してください。

［対策］ファイル名が"Search Work File"以外の場合，ファイルサイズがシステムの上限を超えないように，インデクスを作成してください。

Illegal character exist after AND/OR. offset=aa

AND/OR指定の後ろの文字が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal character exist after structure name.

構造名指定のあとに指定できない文字列があります。指定できる文字は，丸括弧（ （ ，） ），波括弧（ ｛ ，｝ ），角括弧（ ［ ，］ ）です。

（P）検索条件式を修正して再実行してください。

Illegal characters exist after back slash symbol.

「¥」（エスケープ文字）のあとに，指定できる文字以外を指定しています。

（P）検索条件式を修正して再実行してください。

Illegal characters exist after back slash symbol in search term. offset=aa

検索ターム中の「¥」（エスケープ文字）の後ろの文字が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal characters exist after back slash symbol. offset=aa

「¥」（エスケープ文字）の後ろの文字が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal characters exist after condition. offset=aa

検索条件式の後ろに誤った文字があります。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal characters exist in term condition.

ターム条件中に誤った文字があります。

（P）検索条件式を修正して再実行してください。

Illegal expand option.

SYNONYM，SOUNDEX_EXPに指定している展開モード指定が誤っています。

（P）展開モードの指定内容を修正して再実行してください。

Illegal expand option. offset=aa

異表記展開モード指定が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal expansion function invocation.

展開関数に，SOUNDEX_EXP，SYNONYM以外が指定されています。

（P）検索条件式を修正して再実行してください。

Illegal number in proximity distance.

近傍条件に指定された距離の指定が指定可能範囲（0〜2,147,483,646）ではありません。

（P）距離の指定を指定可能範囲（0〜2,147,483,646）にして，再実行してください。

Illegal operand in proximity distance.

近傍距離指定の演算子に，>=，=，<=以外が指定されています。

（P）近傍条件の内容を修正して再実行してください。

Illegal operand in proximity distance. offset=aa

近傍距離指定の演算子に，>=，=，<=以外が指定されています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal order in proximity.

近傍条件の順序指定に，ANY_ORDER，IN_ORDER以外が指定されています。

（P）近傍条件の順序指定の内容を修正して再実行してください。

Illegal order in proximity. offset=aa

近傍条件の順序指定が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal position of pipe symbol.

前方一致，後方一致指定の「|」（パイプ）の位置が誤っています。

（P）前方一致，後方一致指定の場合は，単純文字列の最前部または最後尾に指定してください。

単なる文字として指定する場合は直前に「¥」（エスケープ文字）を付けてください。

Illegal search factor exist. offset=aa

検索因子が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal structure weight.weight=XX

構造の重みの値が指定可能範囲（1〜100）ではありません。

XX：指定された重みの値

（P）構造の重みの値を指定可能範囲（1〜100）にして再実行してください。

Illegal symbol exist in search term. ("*" or "?")

検索タームの「*」または「?」の指定に誤りがあります。

［対策］検索条件式を修正して再実行してください。

Illegal term weight. Weight=XX

タームの重みの値が指定可能範囲（1〜100）ではありません。

XX：指定された重みの値

（P）タームの重みの値を指定可能範囲（1〜100）にして再実行してください。

Illegal text function invocation.

展開指定（SOUNDEX_EXP，SYNONYM），近傍条件（PROXIMITY）または単純文字列指定が必要な所にこれらの指定がありません。

（P）中括弧のあとに，展開指定（SOUNDEX_EXP，SYNONYM），近傍条件（PROXIMITY）または単純文字列指定があるか確認してください。その後，検索条件式を修正して再実行してください。

Illegal unit in proximity.

近傍条件の距離単位指定が誤っています。

（P）近傍条件の距離単位指定を修正して再実行してください。

Illegal unit in proximity. offset=aa

近傍条件の距離単位が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Illegal XML data.detail=Line:xx,Column:yy,aa..aa

指定したXMLデータが不正です。

xx：XMLデータの問題が発生した行

yy：XMLデータの問題が発生したカラム数（文字単位）

aa..aa：詳細情報

（P）詳細情報を基にXMLデータを見直してください。

Illegal XML data.detail=aa..aa

XQuery変換式を使用したXMLデータの部分更新結果のXMLデータが不正です。

aa..aa：詳細情報

（P）詳細情報を基にXML部分更新の構文とXMLデータを見直してください。

Incomplete term condition.

ターム条件式が途中で終わっているため，条件式が解析できません。

（P）検索条件式を修正して再実行してください。

Incomplete text search condition.

検索条件式が途中で終わっており，検索条件式が解析できません。

（P）検索条件式を修正して再実行してください。

Incomplete text search condition. offset=aa

検索条件式が途中で終わっています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Index data for search exceeds maximum size.(XX)

参照するインデクスサイズが上限値を超えました。

XX：インデクスサイズの上限値

（P）検索条件を変更して再実行してください。

Index size is over limit.(XX)

特定のインデクスのインデクスサイズが上限値（2,147,483,647バイト）を超えました。

XX：上限値を超えたインデクスの文字コード（英文インデクスの場合は，ENGLISHと出力されます）

（P）削除文書が多い場合は，HiRDBのデータベース再編成ユティリティ（pdrorg）による再編成，またはインデクスの再作成を実行してください。 削除文書が少ない場合は表分割してください。どちらの場合もなるべく不要な文書を削除してから対処してください。

Invalid character code.

CREATE TABLEのプラグインオプションでの，文字コード種別の指定に誤りがあります。

（P）プラグインオプションを修正して再実行してください。

Invalid data found.filename= aa..aa,offset=XX,file= bb..bb,line=YY

指定されたインデクスデリミタファイル，不要語ファイル，または削除コードファイル中に不正なデータがあります。または，指定できる個数の上限を超えています。

aa..aa：ファイル名

XX：不正データのデータ先頭からのオフセット

bb..bb：エラーが発生したファイル

YY：エラーが発生したソースファイル行

［対策］データを確認してください。

Invalid delimiter exist. offset=aa

区切り文字が誤っています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Invalid document.

XML変換ライブラリで作成していないXMLデータを，XML型列を含む表に登録しようとしました。

（P）XML型列を含む表を登録する場合は，XML変換ライブラリで変換したXMLデータを使用してください。

Invalid ESIS-B data.code=aa

表に登録しようとしたESIS-B形式データに異常があります。

aa：エラー番号

2〜6：XML変換ライブラリまたはphdxmlcnvコマンドで作成したデータではありません。

7：HiRDBの運用文字コードとESIS-B形式データの文字コードに整合性がありません。

（P）エラー番号の内容を参考にして，登録に指定したESIS-B形式データファイルを修正後再登録してください。

登録先の表名に誤りがある場合は，正しい表名を指定して再登録してください。

Invalid Number. offset=aa

有効でない数値が指定されています。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Invalid option. offset=aa

不正なオプションです。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Invalid plugin description.

XML型の列のプラグインオプションの内容に誤りがあります。

（P）プラグインオプションの内容を確認してください。内容を確認後，再実行してください。

Invalid score option name. offset=aa

スコアオプション名の指定に誤りがあります。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Invalid structure name.

要素名の指定に誤りがあります。または，要素名指定長が1,024バイトを超えています。

（P）検索条件式を修正して再実行してください。

Invalid text data type : aa..aa

テキストデータ種別（XML型の列のプラグインオプションのタグ<TEXTTYPE>の内容）の指定に，XML以外が指定されました。

aa..aa：指定された内容

（P）テキストデータ種別を正しく指定して，再実行してください。

Invalid text search condition.

全文検索条件に誤りがあります。

（P）検索条件を修正して再実行してください。

Invalid value found in Plugin Option(aa).bb(XX)

プラグインオプションの指定に誤りがあります。

aa：誤りを発見したパラメタ

bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］プラグインオプションの指定を修正し，再実行してください。

Left paren symbol not exist after NOT symbol.

NOT演算子のあとに左括弧がありません。

（P）検索条件を修正して再実行してください。

No attribute name. offset=aa

属性名の指定がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No back slash before escape character. offset=aa

「¥」（エスケープ文字）がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No delimiter. offset=aa

区切り文字がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No dictionary name. offset=aa

同義語辞書名の指定がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No expans mode. offset=aa

異表記展開モードの指定がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No number. offset=aa

数値指定がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No structure name. offset=aa

構造名指定がありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

No structure weight after left paren symbol.

構造名指定のあとの，左括弧の後ろの構造重みの指定がありません。

（P）構造重みを指定して，再実行してください。

No term weight after left paren symbol.

単純文字列指定のあとの，左括弧の後ろにタームの重み指定がありません。

（P）タームの重みを指定して，再実行してください。

Not enough area.filename=Delay File

分割遅延登録用ファイル領域不足によって，登録に失敗しました。

（P）HiRDB管理者に連絡してください。

［対策］インデクス作成開始ユティリティで遅延登録文書をすべてインデクスに登録してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

Not enough memory.file= aa..aa,line= XX

処理に必要なメモリをシステムが取得できませんでした。

aa..aa：メモリを要求したソースファイル名

XX：エラーが発生した行

（P）システムのメモリ状態を確認してください。

Not enough memory for expand search.max memory size= XX

同義語異表記展開処理に必要なメモリが環境情報定義に指定した同義語異表記展開用最大メモリサイズを超えました。

XX：環境情報定義に指定した同義語異表記展開用最大メモリサイズ（キロバイト）

（P）検索タームを変更するか，または同義語異表記展開の指定を変更して再実行してください。

［対策］このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

リソースを見積もり直して，環境情報定義の同義語異表記展開用最大メモリサイズの指定値を増やしてください。

Not enough memory for search. max memory size = XX

検索処理に必要なメモリがシステムの上限，または環境情報定義に指定した検索時最大メモリサイズを超えました。

XX：システム上限値または環境情報定義に指定した検索時最大メモリサイズ（キロバイト）

（P）論理演算の条件を変更するか，または異表記展開の指定を変更して再実行してください。

［対策］環境定義ファイルを使用時に，このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

メモリに余裕があるときは，環境情報定義の検索時最大メモリサイズの指定値を増やしてください。

メモリに余裕がないときは，環境情報定義の検索オプションに「file」を指定してください。

Not enough shared memory. file=aa..aa,line=XX

プラグインに割り当てられた共用メモリが不足しています。

aa..aa：オペレーションを発行したソースファイル

XX：オペレーションを発行した行

（P）HiRDB管理者に連絡してください。

［対策］HiRDBのバックエンドサーバ定義またはシングルサーバ定義のpdplgprmオペランド指定値を見直してください。

Not enough stack memory for search.max memory size= XX

検索オプションに「file」を指定している場合の検索処理で必要なスタックメモリがシステムの上限を超えました。

XX：システム上限値（キロバイト）

（P）頻出語や１文字のワイルドカード検索または近傍検索を行わないように条件を変更して再実行してください。

［対策］このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

環境情報定義の検索オプションに「memory」を指定してください。

Not enough RD area. filename=aa..aa

RDエリア容量が不足しています。

aa..aa：容量不足が発生した物理格納定義の種別

（P）HiRDB管理者に連絡してください。

［対策］RDエリア容量を増やしてください。

Not enough rdarea size for SGML structure index.

XML型の列を格納するRDエリアのページ数が少ないため，XML構造インデクスが作成できません。

（P）RDエリアのページ数を増やして，再実行してください。または，別のRDエリアに割り当ててください。

Not support language.

HiRDBで設定している文字コードをサポートしていないため処理できません。

（P）XML Extensionがサポートしている文字コードでHiRDB環境を再構築後，再実行してください。

NOT symbol unable to use at logical term condition.

ターム検索条件の論理演算（AND/OR）に対してNOT演算子を指定しています。

（P）検索条件を修正して再実行してください。

Number of file is over the system limit.

インデクスファイル数がシステムの上限を超えました。

（P）HiRDB管理者に連絡してください。

［対策］ファイル数がシステムの上限を超えないように，インデクスを作成してください。

Number overflow. offset=aa

数値指定がオーバーフローしました。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Overflow of structure weight.

構造の重みの値がオーバーフローしています。

（P）1〜100の値を指定して再実行してください。

Overflow of term weight.

タームの重みの値がオーバーフローしています。

（P）1〜100の値を指定して再実行してください。

Paren symbol not exist after text function invocation.

近傍条件指定（PROXIMITY），展開指定（SOUNDEX_EXP，SYNONYM）のあとに括弧がありません。

（P）検索条件式を修正して再実行してください。

Paren symbol not match in condition.

検索条件式中の括弧が対応していません。

（P）検索条件式を修正して再実行してください。

Parenthesis nest overflow. offset=aa

括弧のネストが制限値を超えました。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Plugin description is not specified at SGMLTEXT type column.

XML型カラムにプラグインオプションの指定がありません。

（P）定義内容を見直して再実行してください。

PLUGIN OPTION(aa..aa) Not Installed.

プラグインオプションがインストールされていません。

aa..aa：プラグインオプション名

Concept：Text Search Plug-in Conceptual Extension

［対策］表示されたプラグインオプションをインストールしてください。

PPI Error occurred.func=aa..aa,code=XX,file=bb..bb,line=YY

HiRDBのサービスコールでエラーが発生しました。

aa..aa：HiRDBサービスコール関数名

XX：返却されたエラーコード

bb..bb：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

Right paren symbol not exist after structure weight.

構造重み指定の後ろに右括弧がありません。

（P）検索条件式を修正して再実行してください。

Right paren symbol not exist after term weight.

タームの重み指定の後ろに右括弧がありません。

（P）検索条件式を修正して再実行してください。

Structure name not found in SGML structure index.

全文検索条件式中に指定された構造名は，XML構造インデクスに登録されていません。

（P）指定した構造名が正しいか確認してください。正しくない場合は，検索条件式を修正して再実行してください。

Synonym dictionary data get failed.

同義語辞書データの取得に失敗しました。

（P）検索条件中に指定した同義語辞書名が正しいか確認してください。正しくない場合は修正して再実行してください。正しい場合は，HiRDB管理者に連絡してください。

［対策］同義語辞書がシステムに登録されているか確認してください。登録されていない場合は，「phdsyndicreg（同義語辞書登録ユティリティ）」で同義語辞書を登録してください。同義語辞書登録ユティリティの詳細については，「3.2.1　phdsyndicreg（同義語辞書登録ユティリティ）」を参照してください。

登録されている場合は，メッセージログの内容を確認して，保守員に連絡してください。

Synonym dictionary data not found in system.

指定した同義語辞書は登録されていません。

（P）指定した同義語辞書名が正しいか確認してください。同義語辞書名が正しい場合は，HiRDB管理者に連絡してください。

［対策］同義語辞書を登録してください。

System error. offset=aa condition=bb file=cc line=dd

内部矛盾が発生しました。

aa：検索条件式のオフセット

bb：検索条件式

cc：ファイル名

dd：行番号

［対策］保守員に連絡してください。

Term condition not exists.

ターム条件が指定されていません。

（P）検索条件式を指定して再実行してください。

Term condition not exist after structure weight.

構造重み指定の後ろにターム条件が指定されていません。

（P）検索条件式を指定して再実行してください。

Term delimiter(") not exist. offset=aa

「"」（ダブルクォーテーション）がありません。

aa：検索条件式のオフセット

（P）検索条件式を指定して再実行してください。

Text search condition is not specified.

抽象データ型関数contains()，contains_with_score()の構造検索条件の指定がありません。

（P）検索条件式を指定して再実行してください。

The depth of the hierarchy of the XML data element exceeds a limit value.

指定したXMLデータまたはXQuery変換式を使用したXMLデータの部分更新結果のXML内の要素ネストが100を超えています。

（P）要素のネストは最大100ネストまでです。XMLデータ，またはXML部分更新の構文を見直してください。

Token size is over max size(255bytes)

次に示すサイズが指定できる最大数（255バイト）を超えています。

単純文字列指定：「"」（ダブルクォーテーション）で指定した文字列

同義語辞書名：SYNONYMで指定している同義語辞書名

構造名：構造名指定に指定している構造名

（P）検索条件式を修正して再実行してください。

Too much term length was specified. offset=aa

指定した長さ（バイト）が正しくありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Too short search factor in specific and. offset=aa

特定構造検索で検索条件が一つしかありません。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

Unable to execute aa..aa

インデクスに対して，実行できない機能が指定されました。

aa..aa：機能名

［対策］インデクスの種別を確認してください。

Unable to execute because of RD area rollback

対象となるRDエリアが回復処理中のため，処理できません。

［対策］対象RDエリアの回復処理完了後，再実行してください。

Unable to use directory for search work,name=aa bb(XX)

コンフィグレーションファイルに指定された検索用ワークファイルディレクトリが使用できません。

ディレクトリの指定を見直してください。

aa：ディレクトリ名

bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］コンフィグレーションファイルの指定を見直し，HiRDBを再度起動してください。

Unmatch character code.

utf-8以外のHiRDB運用環境で，CREATE TABLEのプラグインオプションにutf-8用の指定があります。または，表の文字コード種別と登録したXMLデータの文字コード種別に整合性がありません。

［対策］文字コード種別を操作対象に合わせて，指定内容または登録したXMLデータを修正して再実行してください。

Weight exist in specific struct. offset=aa

特定構造検索指定中に，重み指定があります。

aa：検索条件式のオフセット

（P）検索条件式を修正して再実行してください。

XML data attribute name exceeds maximum length.

指定したXMLデータまたはXQuery変換式を使用した結果のXMLには4,096バイトを超える属性名が含まれています。

（P）4,096バイトを超える属性名は使用できません。XMLデータまたはXQuery変換式の構文を見直してください。

XML data element name exceeds maximum length.

指定したXMLデータまたはXQuery変換式を使用した結果のXMLには4,096バイトを超える要素名が含まれています。

（P）4,096バイトを超える要素名は使用できません。XMLデータまたはXQuery変換式の構文を見直してください。

XML data exceeds maximum size.

指定したXMLデータまたはXQuery変換式を使用した結果のXMLのサイズがシステムの限界を超えています。

（P）XMLデータまたはXQuery変換式の構文のサイズを見直してください。

XML data namespace prefix exceeds maximum length.

指定したXMLデータには4,096バイトを超える名前空間接頭辞が含まれています。

（P）4,096バイトを超える名前空間接頭辞は使用できません。XMLデータを見直してください。

XML data unmatch character code.

指定したXMLデータの文字コードがHiRDB運用環境の文字コードと一致していません。

（P）HiRDB運用環境の文字コードに合わせたXMLデータを指定してください。

(2)　SQL連絡領域に出力されるメッセージ（エラーコードの詳細化指定をする場合）

ここでは，エラーコードの詳細化指定をする場合のSQL領域に出力されるエラーメッセージを示します。なお，メッセージIDのあとの[XML Extension]は，同一のエラーメッセージを出力するほかのプラグインと区別するための情報です。そのため，実際には出力されません。

KFPA18000-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：プラグインモジュール名

XML Extensionでは次のどちらかが出力されます。

_phjxml：IXXMLインデクス型プラグインで出力したメッセージ

_phdxml：XMLデータ型プラグインで出力したメッセージ

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaの内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18001-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18020-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18021-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18022-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18040-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18061-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18062-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18063-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18064-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18080-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18081-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18082-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18100-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18101-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18200-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18201-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18202-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

KFPA18299-E [XML Extension]

(dddddd)aa....aa

aa....aaの現象が発生しました。

dddddd：KFPA18000-Eのddddddを参照してください。

aa....aa：XML Extensionが出力したメッセージ

（P）aa....aaで出力される内容に従って対処してください。

aa....aaのメッセージについては，KFPA11997-Eを参照してください。

(3)　メッセージログに出力されるメッセージ

ここでは，メッセージログ・標準エラー出力に出力されるエラーメッセージを示します。なお，メッセージIDのあとの[XML Extension]は，同一のエラーメッセージを出力するほかのプラグインと区別するための情報です。そのため，実際には出力されません。

KFPY99999-I [XML Extension]

(dddddd)xxxxx-y : zzzzz

dddddd：プラグインモジュール名

XML Extensionでは次のどちらかが出力されます。

_phdxml：XMLデータ型プラグインで出力したメッセージ

_phjxml：IXXMLインデクス型プラグインで出力したメッセージ

xxxxx：XML ExtensionでのメッセージID

y：エラーメッセージの重要度

次のどれかが出力されます。

I：情報メッセージ

W：警告メッセージ

E：エラーメッセージ

Q：応答待ちメッセージ

zzzzz：XML Extensionの出力したメッセージ

（P）zzzzzの内容に従って対処してください。

なお，標準出力エラーに出力したメッセージは，「付録F.4（4）　標準エラー出力に出力されるメッセージ」を参照してください。メッセージログに出力されたメッセージは，HiRDBの運用コマンド「pdcat（ファイルの内容表示）」で標準エラー出力に出力できます。また，XML ExtensionでのメッセージIDは，次を参照してください。

00001-E

PPI Error occurred.func=aa..aa,code=XX,file=bb..bb,line=YY

HiRDBのサービスコールでエラーが発生しました。

aa..aa：HiRDBサービスコール関数名

XX：返却されたエラーコード

bb..bb：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

［対策］このメッセージの直前にメッセージが出力されている場合は，それに従って対処してください。出力されていない場合は，保守員に連絡してください。

00005-E

Not enough memory.file= aa..aa,line=XX

処理に必要なメモリをシステムが取得できませんでした。

aa..aa：メモリを要求したソースファイル名

XX：エラーが発生した行

［対策］システムのメモリ状態を確認してください。

00006-E

File open error.filename=aa..aa,code=XX

aa..aaに示されるファイルのオープンに失敗しました。

aa..aa：オープンできなかったファイル名

XX：詳細情報

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

00007-E

File I/O error.filename=aa..aa,func=bb..bb,code=XX,file=cc..cc,line=YY

システムファイルのアクセス中にエラーを検出しました。

aa..aa：ファイル名

bb..bb：オペレーション

XX：詳細情報

cc..cc：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

00008-E

Fatal error occurred.detail=aa..aa,file=bb..bb,line=XX

システム内部で自己矛盾を検出しました。

aa..aa：詳細情報

bb..bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］このメッセージの直前にメッセージが出力されている場合は，それに従って対処してください。出力されていない場合は，保守員に連絡してください。

00009-E

Not enough memory for search.max memory size= XX

検索処理に必要なメモリがシステムの上限または環境情報定義に指定した検索時最大メモリサイズを超えました。

XX：システム上限値または環境情報定義に指定した検索時最大メモリサイズ（キロバイト）

（P）論理演算の条件を変更するか，または異表記展開の指定を変更して再実行してください。

［対策］環境定義ファイルを使用時に，このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

メモリに余裕があるときは，環境情報定義の検索時最大メモリサイズの指定値を増やしてください。

メモリに余裕がないときは，環境情報定義の検索オプションに「file」を指定してください。

00010-E

Not enough RD area.filename=aa..aa

RDエリア容量が不足しています。

aa..aa：容量不足が発生した物理格納定義の種別

［対策］RDエリア容量を増やしてください。RDエリアは，HiRDBのpdmod（データベース構成変更ユティリティ）を実行して追加します。また，インデクス領域として使用する場合は，インデクスの拡張ユティリティを使用してください。インデクスの拡張ユティリティの詳細については，「3.2.7　phjexpnd（インデクスの拡張ユティリティ）」を参照してください。

00011-E

File size is over the system limit. filename = aa..aa

aa..aaに示されるファイル容量がシステムの上限を超えました。

aa..aa：ファイル名

（P）ファイル名が"Search Work File"の場合，検索条件を変更して再実行してください。ファイル名が"Search Work File"以外の場合，HiRDB管理者に連絡してください。

［対策］ファイル名が"Search Work File"以外の場合，ファイルサイズがシステムの上限を超えないように，インデクスを作成してください。

00012-E

Config File I/O error.filename=aa..aa,func=bb..bb,code=XX,file=cc..cc,line=YY

コンフィグレーションファイルのアクセス中にエラーを検出しました。

aa..aa：ファイル名

bb..bb：オペレーション

XX：詳細情報

cc..cc：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

［対策］このメッセージの直前にメッセージが出力されている場合は，それに従って対処してください。出力されていない場合は，保守員に連絡してください。

00013-E

Number of file is over the system limit.

インデクスファイル数がシステムの上限を超えました。

［対策］ファイル数がシステムの上限を超えないインデクスを作成してください。

00014-E

Error in Plugin Option aa(XX)

プラグインオプションの指定に誤りがあります。

aa：エラーの発生したファイル名

XX：エラーの発生した行

［対策］プラグインオプションの指定を修正し，再実行してください。

00015-E

Invalid value found in Plugin Option(aa).bb(XX)

プラグインオプションの指定に誤りがあります。または，utf-8のHiRDB運用環境で使用できないオプションを指定しています。

aa：誤りを発見したパラメタ

bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］プラグインオプションの指定を修正し，再実行してください。

00016-E

Unable to use directory for search work,name=aa bb(XX)

コンフィグレーションファイルに指定された検索用ワークファイルディレクトリが使用できません。

ディレクトリの指定を見直してください。

aa：ディレクトリ名

bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］コンフィグレーションファイルの指定を見直し，HiRDBを再度起動してください。

00017-E

PLUGIN OPTION(aa..aa) Not Installed.

プラグインオプションがインストールされていません。

aa..aa：プラグインオプション名

Concept：Text Search Plug-in Conceptual Extension

［対策］表示されたプラグインオプションをインストールしてください。

00018-E

Define file not exist.filename= aa..aa,func=bb..bb,file=cc..cc,line=XX

指定されたインデクスデリミタファイル，不要語ファイル，または削除コードファイルが存在しません。

aa..aa：ファイル名

bb..bb：オペレーション

cc..cc：オペレーションを発行したソースファイル名

XX：オペレーションを発行したソースファイル行

［対策］プラグインオプションに指定したファイル名称を確認してください。

00019-E

Invalid data found.filename= aa..aa,offset=XX,file= bb..bb,line=YY

指定されたインデクスデリミタファイル，不要語ファイル，または削除コードファイル中に不正なデータが存在します。

aa..aa：ファイル名

XX：不正データのデータ先頭からのオフセット

bb..bb：エラーが発生したソースファイル名

YY：エラーが発生したソースファイル行

［対策］データを確認してください。

00020-E

Fail to lock aa..aa.

aa..aaの排他に失敗しました。IXXMLインデクス用RDエリアまたはXMLデータ用RDエリアへのアクセスが競合しています。

aa..aa：RDエリア種別

Index File：IXXMLインデクス用RDエリア

XML Logical File：XMLデータ用RDエリア

［対策］しばらく待って再実行してください。このメッセージの直前または直後にメッセージが出力されている場合は，そのメッセージの内容に従って対処してください。

00021-E

Unable to execute because of RD area rollback.

対象となるRDエリアが回復処理中のため，処理できません。

［対策］対象RDエリアの回復処理完了後，再実行してください。

00024-E

Not enough shared memory. file= aa..aa, line=bb..bb.

プラグインに割り当てられた共用メモリが不足しています。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

［対策］HiRDBのバックエンドサーバ定義またはシングルサーバ定義の「pdplgprm」オペランド指定値を見直してください。

00026-E

Fail to lock because file is over the process limit. filename=aa..aa, line=bb..bb.

１プロセスのオープンファイル数が上限を超えました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

［対策］しばらく待って再実行してください。再実行の際にも同様のエラーが発生した場合は，プロセスごとに対応してください。

HiRDBのサーバプロセスの場合

HiRDB管理者に連絡してください。

ユーザ起動によるプロセス（コマンド・ユティリティ）の場合

OSのパラメタのmaxfilesの設定値を変更してください。

00027-E

Fail to lock because file is over the system limit. filename=aa..aa, line=bb..bb.

システム全体のオープンファイル数が上限を超えました。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

［対策］しばらく待って再実行してください。再実行の際にも同様のエラーが発生した場合は，次に示すように対応してください。

OSのパラメタのnfileの設定値を変更する。

コマンドを実行したサーバマシンで動作している不要なプロセスを停止する。

コマンドを実行しない。

00028-E

Fail to thread lock. filename=aa..aa, line=bb..bb.

排他に失敗しました。排他エリアへのアクセスが競合しています。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

［対策］しばらく待って再実行してください。

00029-E

Shared memory is not defined in HiRDB definition. file=aa..aa, line=bb..bb.

プラグイン用の共用メモリがHiRDBサーバ定義に指定されていません。

aa..aa：ファイル名

bb..bb：オペレーションを発行した行

［対策］プラグイン用の共用メモリをHiRDBサーバ定義に指定してください。

00030-E

Not enough area.filename=aa..aa

分割遅延登録用ファイル領域不足または排他失敗によって，登録に失敗しました。

aa..aa：ファイル名

（P）HiRDB管理者に連絡してください。

［対索］インデクス分割遅延作成用ファイルの使用率が多い場合は，遅延登録したXMLデータをインデクスに登録してください。インデクス分割遅延作成用ファイルの使用率が少ない場合は，しばらく待って再実行してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

00031-E

Not enough stack memory for search.max memory size= XX

検索オプションに「file」を指定している場合の検索処理で必要なスタックメモリがシステムの上限を超えました。

XX：システム上限値（キロバイト）

（P）頻出語や１文字のワイルドカード検索または近傍検索を行わないように条件を変更して再実行してください。

［対策］このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

環境情報定義の検索オプションに「memory」を指定してください。

00034-E

Invalid Index Type.

指定したインデクス種別はサポートしていません。

（P）インデクスの種別を確認してください。

00035-E

Index data for search exceeds maximum size.(XX)

上限値を超えるインデクスを使用した検索が実行されました。

XX：インデクスサイズの上限値

［対策］ひらがなやカタカナ１文字などの，システムに高負荷を与える検索タームを指定しています。検索タームを見直して再実行してください。

00037-E

Not enough memory for expand search.max memory size= XX

同義語異表記展開処理に必要なメモリが環境情報定義に指定した同義語異表記展開用最大メモリサイズを超えました。

XX：環境情報定義に指定した同義語異表記展開用最大メモリサイズ（キロバイト）

（P）検索タームを変更するか，または同義語異表記展開の指定を変更して再実行してください。

［対策］このエラーメッセージが頻繁に出力されるときは，次の対処をしてHiRDBを再度起動してください。

リソースを見積もり直して，環境情報定義の同義語異表記展開用最大メモリサイズの指定値を増やしてください。

00038-E

Each definition unmatch. value1=Index Option aa, value2=bb

aaとbbの定義の組み合わせは，実行できない組み合わせです。

aa：CREATE INDEXのプラグインオプションに指定したインデクス作成方法

bb：Lockmode

［対策］aaとbbの定義内容を見直してください。

aa

bb

対策

CREATEMODE=3

Lockmode

データ型プラグインの環境定義ファイルのphd_search_waitに「nowait_with_update」が指定されているかどうかを確認してください。また，インデクス作成開始ユティリティ（phjstartidx）の-wオプションに，「nowait_with_update」が指定されているかどうかを確認してください。インデクス作成開始ユティリティの詳細については，「3.2.8　phjstartidx（インデクス作成開始ユティリティ）」を参照してください。

00039-E

File format error. filename=aa..aa,detail=bb..bb,line=XX,offset=YY

ファイル形式が不正です。

aa..aa：ファイル名

bb..bb：詳細情報

XX：エラーが発生した行

YY：エラーが発生した位置（バイト数）

［対策］ファイルを修正して問題を取り除いてから再実行してください。

00041-E

File not exist.filename=aa..aa

ファイルがありません。

aa..aa：ファイル名

［対策］ファイルがあるか確認してください。

00042-E

Expand search exceeds maximum counts.(XX)

最大同義語異表記展開数を超える検索が実行されました。

XX：最大同義語異表記展開数

［対策］検索タームを変更して再実行してください。

00043-E

Index size is over limit.(XX)

特定のインデクスのインデクスサイズが上限値（2,147,483,647バイト）を超えました。

XX：上限値を超えたインデクスの文字コード（英文インデクスの場合は，ENGLISHと出力されます）

［対策］削除文書が多い場合は，HiRDBのデータベース再編成ユティリティ（pdrorg）による再編成，またはインデクスの再作成を実行してください。削除文書が少ない場合は表分割してください。どちらの場合もなるべく不要な文書を削除してから対処してください。

01001-W

Invalid data found.file=aa,line=XX.bb(YY)

誤りのある行がコンフィグレーションファイルにあります。誤りを発見したコンフィグレーションファイルの指定内容をすべて無効とします。

aa ：誤りを発見したコンフィグレーションファイル名

XX：誤りを発見したコンフィグレーションファイルの行番号

bb ：エラーの発生したファイル名

YY：エラーの発生した行

［対策］コンフィグレーションファイルの内容を修正し，HiRDBを再度起動してください。

01002-W

Invalid value found. file=aa,line=XX,item=bb.cc(YY)

コンフィグレーションファイルの指定内容に誤りがあります。誤りを発見したコンフィグレーションファイルの指定内容をすべて無効とします。

aa：誤りを発見したコンフィグレーションファイル名

XX：誤りを発見したコンフィグレーションファイルの行番号

bb：誤りを発見した指定項目

cc：エラーの発生したファイル名

YY：エラーの発生した行

［対策］コンフィグレーションファイルの内容を修正し，HiRDBを再度起動してください。

01003-W

Not enough RD area for expand.

インデクスを拡張するためのRDエリアが不足しています。インデクスの拡張処理を実行しません。

［対策］RDエリアを拡張後，再実行してください。

01004-W

Unable to execute aa..aa

インデクスに対して実行できない機能が指定されました。

aa..aa：機能名

［対策］インデクスの種別を確認してください。

01005-W

Specified size not enough for expand.

指定されたサイズが小さいため，ファイルが拡張できません。

［対策］拡張するファイルが分割遅延登録用ファイルである場合，拡張できる最小単位は2,048キロバイトです。そのため，現在の分割遅延登録用ファイルサイズ＋2,048キロバイト以上を指定してください。

01007-W

Index of limit using ratio is over XX percent.(YY)

特定のインデクスの上限値（2,147,483,647バイト）に対する使用率が警告レベルの境界値を超えました。

境界値の90%を超えると，1%単位で99%までこのメッセージが出力されます。

XX：上限値に対する使用率

YY：境界値を超えたインデクスの文字コード（英文インデクスの場合は，ENGLISHと出力されます）

［対策］インデクスサイズが上限値に達する前に，削除文書が多い場合は，HiRDBのデータベース再編成ユティリティ（pdrorg）による再編成，またはインデクスの再作成を実行してください。削除文書が少ない場合は表分割してください。どちらの場合もなるべく不要な文書を削除してから対処してください。

01008-W

Cannot increment specified incremental word. line=XX

XX行目に指定した文字列はインクリメンタルできません。

XX：インクリメンタル対象定義ファイルの行番号

［対策］XX行目に指定した文字列を確認してください。

02001-I

aa..aa is Time Out.

コマンドが指定時間を過ぎて終了しました。

aa..aa：コマンド名

02002-I

aa..aa command started.

コマンドを開始しました。

aa..aa：コマンド名

02003-I

aa..aa command ended.

コマンドを終了しました。

aa..aa：コマンド名

02004-I

Delay file using ratio XX percent.

分割遅延登録用ファイル使用率がXXパーセントになりました。

XX：分割遅延登録用ファイル使用率

02005-I

To have processed in the full counts, aa..aa has finished.

コマンドに指定された件数の登録が完了しました。

aa..aa：コマンド名

02006-I

XX Processed.

XX件のデータのインデクスを作成しました。

XX：インデクスを作成したデータ件数

02007-I

Unable to make index complete. Because of Lock.

作成要求された件数に達する前に，処理できる件数が終わりました。

02008-I

Index of limit using ratio XX percent.(YY)

特定のインデクスの上限値（2,147,483,647バイト）に対する使用率が通知レベルの境界値を超えました。

境界値の50%を超えると，5%単位で85%までこのメッセージが出力されます。

XX：上限値に対する使用率

YY：境界値を超えたインデクスの文字コード（英文インデクスの場合は，ENGLISHと出力されます）

02009-I

Completed specified incremental word. line=XX

XX行目まで文字列インクリメンタルが完了しました。

XX：インクリメンタル対象定義ファイルの行番号

［対策］なし

02010-I

Shortened specified incremental word, because it is too long. line=XX

XX行目の文字列が長いため短縮しました。

XX：インクリメンタル対象定義ファイルの行番号

［対策］なし

50001-E

Fatal error occurred.

回復不能エラーが発生しました。

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

50002-E

Not enough memory.size=XX file=aa..aa line=YY

メモリ不足が発生しました。

XX：要求したサイズ

aa..aa：エラーが発生したファイル名

YY：エラーが発生した行

［対策］システムのメモリ状態を確認してください。

50003-E

Registry data get failed. Key name=aa..aa code=XX

レジストリ登録情報の取得でエラーが発生しました。

aa..aa：レジストリ登録情報名

XX：エラーコード

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。また，レジストリ機能の初期設定を実施しているか確認してください。

何もメッセージが出力されていない場合は保守員に連絡してください。

50004-E

Initialize SGML structure index failed.code=XX file=aa..aa line=YY

XML構造インデクスの初期化に失敗しました。

XX：エラーコード

aa..aa：エラーの発生したファイル名

YY：エラーの発生した行

［対策］このメッセージの直前に，別のメッセージが出力されている場合はそのメッセージに従って対処してください。それ以外は，保守員に連絡してください。

50005-E

SGML compiler error occurred.file=aa..aa line=XX

XMLデータの解析中にエラーが発生しました。

aa..aa：エラーの発生したファイル名

XX：エラーの発生した行

［対策］保守員に連絡してください。

50006-E

SGML structure index open failed.code=XX file=aa..aa line=YY

XML構造インデクスのオープンでエラーが発生しました。

XX：エラーコード

aa..aa：エラーが発生したファイル名

YY：エラーが発生した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。何もメッセージが出力されていない場合は，保守員に連絡してください。

50007-E

SGML structure index add failed.code=XX file=aa..aa line=YY

XML構造インデクスの追加でエラーが発生しました。

XX：エラーコード

aa..aa：エラーが発生したファイル名

YY：エラーが発生した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。何もメッセージが出力されていない場合は，保守員に連絡してください。

50008-E

Plain text compiler error occurred.file=aa..aa line=XX

プレーンテキストの解析中にText Search Plug-inでエラーが発生しました。

aa..aa：エラーの発生したファイル名

XX：エラーの発生した行

［対策］保守員に連絡してください。

50009-E

SGML Compiler Message file open failed.

XML Extensionが必要なメッセージファイルのオープンに失敗しました。

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。何もメッセージが出力されていない場合は，XML Extensionが正しく登録されているか確認してください。

50010-E

SPK Message file open failed.

XML Extensionが必要なメッセージファイルのオープンに失敗しました。

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。何もメッセージが出力されていない場合は，XML Extensionが正しく登録されているか確認してください。

50011-E

PPI Error occurred. func=aa...aa code=XX,file=bb..bb,line=YY

HiRDBのサービスコールでエラーが発生しました。

aa..aa：HiRDBサービスコール関数名

XX：返却されたエラーコード

bb..bb：エラーの発生したファイル名

YY：エラーの発生した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

50013-E

Katakana rule data get failed.

カタカナルールファイルの読み込みに失敗しました。

［対策］このメッセージの直前に，別のメッセージが出力されている場合はそのメッセージに従って対処してください。それ以外は，保守員に連絡してください。

50014-E

Logical file I/O error occurred.func=aa..aa code=XX

論理ファイル操作でエラーが発生しました。

aa..aa：オペレーション

XX：詳細情報

［対策］このメッセージの直前に，別のメッセージが出力されている場合はそのメッセージに従って対処してください。それ以外は，保守員に連絡してください。

50015-E

Synonym dictionary data get failed.func=aa..aa code=XX file=bb..bb line=YY

同義語辞書の読み込みに失敗しました。

aa..aa：関数名

XX：エラーコード

bb..bb：エラーの発生したファイル名

YY：エラーの発生した行

［対策］このメッセージの直前に，別のメッセージが出力されている場合はそのメッセージに従って対処してください。それ以外は，保守員に連絡してください。

50020-E

Specified character code set not supported.

指定されている文字コード種別はサポートしていません。

［対策］HiRDBシステムのOSへの登録時に指定した文字コード種別を見直してください。

62043-E

Specified character code set not supported.

未サポート文字コードのHiRDB運用環境にXML ExtensionをセットアップしてHiRDBを起動しました。

［対策］XML Extensionがサポートしている文字コードのHiRDB運用環境でセットアップしてください。

(4)　標準エラー出力に出力されるメッセージ

ここでは，標準エラー出力に出力されるエラーメッセージを示します。

52001-I

aa..aa command started.

aa..aaに示すコマンドを開始しました。

aa..aa：コマンド名

［対策］なし

52002-I

aa..aa command ended.

aa..aaに示すコマンドが正常終了しました。

aa..aa：コマンド名

［対策］なし

52003-E

aa..aa command error occurred.code=XX

aa..aaに示すコマンドが異常終了しました。

aa..aa：コマンド名

XX：エラーコード

［対策］直前に出力されているメッセージに従って対処してください。

52004-E

System call error occurred.func=aa..aa code=XX

システムコールでエラーが発生しました。

aa..aa：システムコール名

XX：エラーコード

［対策］OSのマニュアルに従って対処してください。

52005-E

Illegal options - XX

オプションの指定が間違っています。

XX：指定されたオプションの内容

［対策］正しいオプションを指定して再実行してください。

52013-E

Communication error occurred.

HiRDBと接続できませんでした。

［対策］直前に出力されているHiRDBのメッセージに従って対処してください。

52021-E

Illegal attribute name - aa..aa

定義属性名の指定に誤りがあります。

aa..aa：定義属性名

［対策］正しい定義属性名を指定して再実行してください。

52022-E

Not found FilePathName - aa..aa

実体ファイル名に指定したファイルが見つかりません。

aa..aa：実体ファイル名

［対策］正しい実体ファイル名を指定して再実行してください。

52023-E

AttrFileName is too long.

定義属性名が最大長を超えています。

［対策］定義ファイル名を240バイト未満にして再実行してください。

52024-E

Not enough memory.

メモリ不足が発生しました。

［対策］不要なプログラムを終了するなどしてメモリを確保し，再実行してください。

52032-E

Attribute file data exceeds maximum size.

XML定義情報のデータサイズが制限値（5メガバイト）を超えています。

［対策］XML定義情報のデータサイズを制限値（5メガバイト）以下にして再実行してください。

52033-E

AttrFileName length is 0 byte.

指定した定義ファイル名の長さが0バイトです。

［対策］定義ファイル名の長さを有効長（1〜240バイト）の範囲で指定し，再実行してください。

52034-E

File path name length is 0 byte.

指定したファイル名の長さが0バイトです。

［対策］ファイル名を正しく指定して再実行してください。

52035-E

Output file path name length is 0 byte.

指定した出力ファイル名の長さが0バイトです。

［対策］出力ファイル名を正しく指定して再実行してください。

52036-E

HiRDB library error occurred.func=aa..aa code= XX file=bb..bb line=YY

HiRDBクライアントライブラリ関数でエラーが発生しました。

aa..aa：関数名

XX：エラーコード

bb..bb：ファイル名

YY：エラーが発生した行

［対策］直前に出力されているHiRDBのメッセージに従って対処してください。

52037-E

File format error. filename=aa..aa,detail=bb..bb,line=XX,offset=YY

ファイル形式が不正です。

aa..aa：ファイル名

bb..bb：詳細情報

XX：エラーが発生した行

YY：エラーが発生した位置（バイト数）

［対策］ファイルを修正して問題を取り除いてから再実行してください。

52301-E

Continuous comma exist.line=XX

「,」（半角コンマ）が連続して存在しています。

または，同義語辞書群の中に「¥」（エスケープ文字）だけの同義語辞書があります。「¥」を同義語とする場合，「¥¥」と記述してください。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52302-E

Text data ended with comma.line=XX

同義語辞書テキストファイルが「,」（半角コンマ）で終わっています。

または，同義語辞書群の中に「¥」（エスケープ文字）だけの同義語辞書があります。「¥」を同義語とする場合，「¥¥」と記述してください。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52303-E

File aa..aa open failed.(code:XX)

ファイルのオープンに失敗しました。

aa..aa：ファイル名

XX：エラーコード

［対策］OSのマニュアルを参照の上，対処してください。

52304-E

File aa..aa read failed.(code:XX)

ファイルからの読み込みに失敗しました。

aa..aa：ファイル名

XX：エラーコード

［対策］OSのマニュアルを参照の上，対処してください。

52305-E

File aa..aa remove failed.(code:XX)

ファイルの削除に失敗しました。

aa..aa：ファイル名

XX：エラーコード

［対策］OSのマニュアルを参照の上，対処してください。

52306-E

File aa..aa write failed.(code:XX)

ファイルの書き込みに失敗しました。

aa..aa：ファイル名

XX：エラーコード

［対策］OSのマニュアルを参照の上，対処してください。

52307-E

Illegal characters exist.line=XX

同義語辞書テキストファイルに誤った文字があります。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52308-E

Invalid file path name (aa..aa).

同義語辞書テキストファイルのパス名が誤っています。

aa..aa：同義語辞書テキストファイルのパス名

［対策］正しいパス名を指定して再実行してください。

52309-E

Synonym dictionary file aa..aa not found in system.

同義語辞書はシステムに登録されていません。

aa..aa：同義語辞書名

［対策］システムに登録されている同義語辞書名を指定して再実行してください。

52310-E

Synonym data not found.

同義語辞書テキストファイルに登録が必要なデータが存在しません。

［対策］同義語辞書テキストファイルを修正して再実行してください。

52311-E

Not enough memory.file=aa..aa line=XX

メモリ不足が発生しました。

aa..aa：エラーの発生したファイル名

XX：エラーの発生した行

［対策］しばらく待って再実行してください。

52313-E

Only one word in synonym group.line=XX

同義語群の中に同義語が一つしか指定されていません。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52314-E

Num of character's kind over 1000.line=XX

文字種が1,000を超えました。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52315-E

Text data started with comma.line=XX

同義語辞書の先頭カラムに「,」（半角コンマ）が存在する行があります。または，同義語辞書群の中に「¥」（エスケープ文字）だけの同義語があります。「¥」を同義語とする場合，「¥¥」と記述してください。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52316-I

Usage : aa..aa <dictionary name> <file path name>

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phdsyndicreg）

［対策］なし

52317-I

Usage : aa..aa <dictionary name>

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phdsyndicrm）

［対策］なし

52318-Q

aa..aa is already exist.overwrite?(y/n default n)

同義語辞書はすでに登録されているので，上書きしてもよいか問い合わせます。

aa..aa：同義語辞書名

［対策］上書きして登録する場合は「y」，処理を中断する場合はその他のキーを入力してください。

52319-E

Synonym dictionary name is too long.

同義語辞書名が最大長を超えています。

［対策］同義語辞書名を32バイト以下にして再実行してください。

52320-E

Synonym dictionary name length is 0 byte.

指定した同義語辞書名の長さが0バイトです。

［対策］同義語辞書名を有効長（1〜32バイト）の範囲で指定し，再実行してください。

52321-E

Invalid character is specified in synonym dictionary name.

指定した同義語辞書名に誤った文字が使用されています。

［対策］同義語辞書名を正しく指定して再実行してください。

52322-E

Tab code exist. line=XX

同義語辞書テキストファイル中にタブコードがあります。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52323-E

Illegal character exist after back slash symbol. line=XX

同義語辞書テキストファイル中に，「¥」（エスケープ文字）の後ろに誤った文字が存在する行があります。

XX：エラーの発生した行

［対策］同義語辞書テキストファイルを修正して再実行してください。

52324-I

aa..aa -f rulefile name -c { sjis | euc | utf-8 }

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名

　phdrulecheck：XMLプラグインの場合

［対策］なし

62001-I

aa..aa command started.

ユティリティコマンドが開始しました。

aa..aa：ユティリティコマンド名

［対策］なし

62002-I

aa..aa command ended.

ユティリティコマンドが正常終了しました。

aa..aa：ユティリティコマンド名

［対策］なし

62003-E

aa..aa command error occurred.code=XX

ユティリティコマンドが異常終了しました。

aa..aa：ユティリティコマンド名

XX：エラーコード

［対策］直前に出力されているメッセージに従って対処してください。

62004-E

Environment value(aa..aa) get failed.

環境変数の取得に失敗しました。

aa..aa：環境変数名

［対策］メッセージに出力された環境変数を設定して再実行してください。

62005-E

System call error occurred.func=aa..aa code=XX

システムコールでエラーが発生しました。

aa..aa：システムコール名

XX：エラーコード

［対策］OSのマニュアルを参照の上，対処してください。

62006-E

Not enough memory.

メモリ不足が発生しました。

［対策］不要なプログラムを終了するなどしてメモリを確保し，再実行してください。

62007-E

Error occurred in n-gram index plugin.

IXXMLインデクス型プラグインでエラーが発生しました。

［対策］直前に出力されているメッセージに従って対処してください。

62008-E

HiRDB command (aa..aa) not found in system.

HiRDBのコマンドが見つかりません。

aa..aa：HiRDBコマンド名

［対策］HiRDBが正しくセットアップされているか，またはパスに$PDDIR/binが設定されているか確認してください。確認後，HiRDBを再セットアップ，または$PDDIR/binをパスに設定して再実行してください。

62009-E

HiRDB command (aa..aa) error occurred.code=XX

HiRDBのコマンドでエラーが発生しました。

aa..aa：HiRDBコマンド名

XX：エラーコード

［対策］直前に出力されているメッセージに従って対処してください。

62010-I

Usage : aa..aa -d index_name -r rdarea_name [ -l log_mode ] [ -t time_out_minutes ] [ -q generation_num]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjincmt）

［対策］なし

62011-I

Usage : aa..aa -d index_name -r rdarea_name [ -w wait_mode ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjidxls）

［対策］なし

62012-E

Index name length is 0 byte.

指定したインデクス名の長さが0バイトです。

［対策］インデクス名を正しく指定し，再実行してください。

62013-E

RDAREA name length is 0 byte.

指定したRDエリア名の長さが0バイトです。

［対策］RDエリア名を正しく指定し，再実行してください。

62014-E

Option argument invalid. option=xx

オプションに指定された引数xxが誤っています。

xx：オプション名

［対策］正しい引数を指定して，再実行してください。

62016-I

Usage : aa..aa -d index_name -r rdarea_name [ -l log_mode ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjexpnd）

［対策］なし

62017-I

Usage : aa..aa -d index_name [ -t time ] [ -l log_mode ] [ -c count ] [ -w wait mode ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjstartidx）

［対策］なし

62018-Q

Do you really want to make index without time option ? (y/n default n)

実行時間が指定されていません。

［対策］「y」を入力した場合，時間制限なしで動作します。「n」を入力した場合，処理を中断します。

62019-Q

All Documents of Unfinished Index are Processed, Is it OK? (y/n default n)

分割遅延登録対象に登録したXMLデータをすべてインデクスに登録します。

［対策］「y」を入力した場合，分割遅延登録対象に登録したXMLデータをすべてインデクスに登録します。「n」を入力した場合，処理を中断します。

62020-I

Usage : aa..aa -d index_name -r rdarea_name [ -l log_mode ] [ -t time_out_minutes ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjcond）

［対策］なし

62021-I

Usage : aa..aa -d index_name -v value [ -l log_mode ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjmodidx）

［対策］なし

62022-I

Usage : aa..aa -d index_name -m delay_mode [ -l log_mode ] [ -f ] [ -q generation_num ]

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjdelay）

［対策］なし

62027-E

File name length is 0 byte.

ファイル名の長さが0バイトです。

［対策］指定したファイル名を見直してください。

62028-E

File size error.

ファイルサイズが不正です。

［対策］指定したファイル名を見直してください。

62029-E

File format error.

ファイル内容が不正です。

［対策］指定したファイルを見直してください。

62030-E

Not enough memory.file=aa..aa,line=XX ¥n

メモリ不足が発生しました。

aa..aa：エラーの発生したファイル名

XX：エラーの発生した行

［対策］しばらく待って再実行してください。

62031-E

File aa..aa open Failed. (code:XX) file=bb..bb line=YY

ファイルのオープンに失敗しました。

aa..aa：ファイル名

XX：エラーコード

bb..bb：エラーの発生したファイル名

YY：エラーの発生した行

［対策］OSマニュアルを参考の上，対処してください。

62032-E

File I/O error.filename=aa..aa,func=bb..bb,code=XX,file=cc..cc,line=YY

システムファイルのアクセス中にエラーを検出しました。

aa..aa：ファイル名

bb..bb：オペレーション

XX：詳細情報

cc..cc：オペレーションを発行したソースファイル名

YY：オペレーションを発行した行

［対策］このメッセージの直前にメッセージが出力されている場合はそれに従って対処してください。出力されていない場合は，保守員に連絡してください。

62033-E

Fatal error occurred.detail=aa..aa,file=bb..bb,line=XX

システム内部で自己矛盾を検出しました。

aa..aa：詳細情報

bb..bb：エラーの発生したファイル名

XX：エラーの発生した行

［対策］このメッセージの直前にメッセージが出力されている場合は，それに従って対処してください。出力されていない場合は，保守員に連絡してください。

62034-E

Filename or status error. filename=aa..aa

ファイル名またはパス名が不正です。

aa..aa：ファイル名

［対策］指定したファイル名，またはパス名を見直してください。

62035-E

Communication error occurred.

HiRDBと接続できませんでした。

［対策］直前に出力されているHiRDBのメッセージに従って対処してください。

62036-E

HiRDB library error occurred.func=aa..aa code=XX file=bb..bb line=YY

HiRDBクライアントライブラリ関数でエラーが発生しました。

aa..aa：関数名

XX：エラーコード

bb..bb：ファイル名

YY：エラーが発生した行

［対策］直前に出力されているHiRDBのメッセージに従って対処してください。

62037-E

File not found in default directory.

定義ファイルのDEFAULTに指定したパスにファイルが存在しません。

［対策］DEFAULTに指定したパスにファイルが存在するか見直してください。

62038-E

File or Directory not found. filename=aa..aa

指定したファイル名，またはパス名が見つかりません。

aa..aa：ファイル名

［対策］指定したファイル名，またはパス名が存在するか見直してください。

62039-E

File or Directory already exist. filename=aa..aa

指定したファイル名，またはパス名はすでに存在します。

aa..aa：ファイル名

［対策］存在しないファイル名，またはパス名を指定してください。

62040-E

Directory or File for Concept Information not exist or destroyed.

指定したパス，またはファイルが存在しないか，破壊されています。

［対策］指定したパス名，またはファイル名を見直してください。

62043-E

Specified character code set not supported.

utf-8のHiRDB運用環境で使用できないユティリティコマンドを実行しました。

［対策］HiRDBの運用環境を見直してください。

62046-I

Usage : " aa..aa " -d index_name [ -l log_mode ] [ -t time_out_minutes ][ -q generation_num] [-w wait_mode ] -f file_name

ユティリティコマンドの形式を示します。

aa..aa：ユティリティコマンド名（phjincrword）

［対策］なし

62047-I

XX is Time Out.

XXが指定時間を過ぎて終了しました。

XX：ユティリティコマンド名

［対策］なし

99999-E

TSPlugin version unmatch.

XMLデータ型プラグインとIXXMLインデクス型プラグイン間のバージョンが不整合です。

［対策］XML Extensionを再登録してください。

付録G　用語解説

（英字）

BLOB

XMLデータや画像，音声など，キロバイト，メガバイト，またはギガバイト単位の長大なデータのことです。

ESIS-B形式

XMLデータの内容を解析して，XMLデータの要素情報とコンテンツを抽出したデータの形式です。

HiRDB管理者

HiRDBの運用コマンドの実行者で，スーパユーザが登録したシステム管理者用のユーザIDでログインしたユーザのことです。HiRDBのディレクトリおよびファイルの所有者です。

IXXML型

XMLデータを扱う抽象データ型に対応するインデクス型のことです。

RDエリア

データベースの表，インデクス，およびデータディクショナリを格納するデータ領域のことです。

UCS2（Universal multi-octet Character Set 2）

ISOによって規定された国際文字コードISO/IEC 10646-1の16ビット文字コードです。

UCS4（Universal multi-octet Character Set 4）

ISOによって規定された国際文字コードISO/IEC 10646-1の32ビット文字コードです。

XML型

XMLデータを扱う抽象データ型のことです。

XMLデータ検索プラグイン

XMLデータの検索や登録など，XMLデータを扱うためのプラグインです。XMLデータ検索プラグインは，XML型という抽象データ型を扱うXMLデータ型プラグインと，XML型に対応するIXXML型というインデクス型を扱うIXXMLインデクス型プラグインで構成されています。

XQuery

XQueryは，XMLデータ問い合わせのための関数型言語です。XMLデータソースのための照会機能を提供しています。

（ア行）

異表記展開

表記方法が異なるものを同じ意味の語と見なすことです。カタカナ異表記，アルファベット異表記，全角半角異表記などがあります。

インクリメンタル

インデクス作成単位の文字数を増やすことです。

インデクス作成方法

登録しているXMLデータまたは文字列データに対してインデクスを作成する場合，次の方法があります。

即時登録

インデクス作成とインデクスへのXMLデータ登録を同時に実行する方法です。

初期分割登録または分割遅延登録

インデクスへ反映しないで，XMLデータの登録だけを実行し，インデクス作成開始ユティリティを使ってインデクスへのXMLデータ登録を実行する方法です。

重み

検索条件を複数指定するときに，各検索条件に対して付ける重要度のことです。

（カ行）

検索条件

データベースのXMLデータを検索するための条件です。

検索ターム

検索条件に指定するキーワードです。

更新前ログ取得モード

UAPまたはユティリティを実行するときのデータベースの更新ログ取得方式の一つです。UAPまたはユティリティがRDエリアの内容を更新するときに，ロールバックに必要なデータベース更新ログだけを取得する方式のことです。

（サ行）

属性名

要素に付加された属性の名前のことです。

（タ行）

抽象データ型

ユーザが複雑な要素を持つデータとその操作を独自に定義し，利用できるデータ型のことです。

同義語辞書

同義語の展開方法を定義したファイルです。

同義語辞書テキストファイル

同義語辞書の基になるファイルです。同義語辞書を作成する前に作成します。

登録・検索同時実行

排他制御の単位を小さくすることで，SQLによるデータ登録と検索の同時実行を可能とする機能です。

（ハ行）

プラグインインデクスの遅延一括作成

プラグインインデクスを定義した表に行データを追加するとき，プラグインインデクスのデータ追加処理をしないで，HiRDBのデータベース再編成ユティリティを使用して，あとで一括してプラグインインデクスのデータ追加処理をする機能です。

プラグインインデクスを定義した表の行データを大量追加（または大量更新）するときにこの機能を使用できます。

（マ行）

文字種

一つの同義語のグループには，カタカナ，漢字，数字，アルファベットなどの種類の文字が混在している場合があります。これらの文字の種類のことです。

（ヤ行）

ユーザLOB用RDエリア

画像，音声などの長大な可変長データを格納するためのRDエリアのことです。次に示すデータを，ユーザLOB用RDエリアに格納する必要があります。

BLOB型を指定した列（BLOB列）

抽象データ型内の，BLOB型を指定した属性

プラグインインデクス

ユーザ用RDエリア

ユーザが作成する表とインデクスを格納するためのRDエリアのことです。

ユニット

一つのサーバマシン内の，HiRDBの動作環境のことです。

要素名

XMLデータ中の要素のことです。XMLデータの内容は，要素ごとに分けられています。

（ラ行）

ログ取得モード

UAPまたはユティリティを実行するときのデータベースの更新ログ取得方式の一つです。UAPまたはユティリティがRDエリアの内容を更新するときに，ロールバックおよびロールフォワードに必要なデータベース更新ログを取得する方式のことです。

ログレスモード

UAPまたはユティリティを実行するときのデータベースの更新ログ取得方式の一つです。UAPまたはユティリティがRDエリアの内容を更新するときに，データベース更新ログを取得しない方式のことです。

索引

数字

1RDエリア当たりの排他制御用共用メモリサイズ〔IXXMLインデクス型プラグイン〕[1]

1件登録時最大メモリサイズ〔IXXMLインデクス型プラグイン〕[1]

1文字近傍検索実行可否〔IXXMLインデクス型プラグイン〕[1]

A

absorb[1]

allow[1]

allowおよびdenyの指定例[1]

B

BLOB[1]

C

CDATA[1]

CDATAセクション[1]

contains[1]

contains_with_score[1]

createESISB[1]

CREATE INDEX〔XMLデータ検索プラグイン〕[1]

CREATE TABLE〔XMLデータ検索プラグイン〕[1]

D

delete ideographicspace[1]

delete space[1]

deny[1]

E

ELEMENTを内包する文字列[1]

encoding[1]

ENTITIES[1]

ENTITY[1]

ESIS-B形式[1]

ESIS-B形式データ生成機能[1]

ESIS-B形式データ生成時に出力されるメッセージ[1]

ESIS-B形式データの生成[1]

ESIS-B形式データへの変換規則[1]

ESIS-B出力[1]

extracts[1]

G

getMessage[1]

H

HiRDB管理者[1]

HiRDBをOSから削除する場合の注意事項[1]

I

ID[1]

IDREF[1]

IDREFS[1]

IVS対応機能のインデクス定義[1]

IXXMLインデクス型プラグイン[1]

IXXMLインデクス型プラグインの環境設定[1]

IXXML型[1]、[2]

N

NMTOKEN[1]

NMTOKENS[1]

NOT検索[1]

P

pdload[1]

pdrorg[1]

phdrulecheck[1]

phdsyndicbkup[1]

phdsyndicconv[1]

phdsyndicreg[1]

phdsyndicrm[1]

phjcond[1]

phjdelay[1]

phjexpnd[1]

phjidxls[1]

phjincmt[1]

phjmodidx[1]

phjstartidx[1]

phjincrword[1]

PhrdFilterExtension[1]

PICファイル名[1]

PrdbIllegalXMLException[1]

PrdbParameterException[1]

PrdbXMLConverter[1]

PrdbXMLConverterクラス[1]

R

RDエリア[1]

RDエリア容量[1]

S

SAMECASE[1]

SAMEWIDE[1]

score[1]

setFilter[1]

setProperty[1]

SQL実行時の排他制御のモード[1]

SQL連絡領域に出力されるメッセージ（エラーコードの詳細化指定をしない場合）[1]

SQL連絡領域に出力されるメッセージ（エラーコードの詳細化指定をする場合）[1]

SQL連絡領域に出力されるメッセージの形式[1]

T

trimdown ideographicspace[1]

U

UAPの更新およびバッチ登録による運用[1]

UAPのコンパイルおよび実行時の設定[1]

UAPのコンパイルおよび実行時の設定（HiRDB/Run TimeおよびHiRDB/Developer's Kitの場合）[1]

UCS2（Universal multi-octet Character Set 2）[1]

UCS4（Universal multi-octet Character Set 4）[1]

unsetFilter[1]

W

without attribute[1]

X

XML Extensionシステムの構成例[1]

XML Extensionシステムの構築[1]

XML Extensionシステムの構築の流れ[1]

XML Extensionとは[1]

XML Extensionのアンセットアップ（UNIXの場合）[1]

XML Extensionの環境設定[1]

XML Extensionの削除[1]

XML Extensionの設定解除[1]

XML Extensionのセットアップ（UNIXの場合）[1]

XML Extensionの登録[1]、[2]

XML Extensionの登録運用の長所および短所[1]

XML Extensionの特長[1]

XML Extensionのバージョンアップ[1]

XML Extensionのユティリティ[1]

XML Extensionを構成するプログラム[1]

XML Extensionを適用している表の削除[1]

XML Extensionを利用した検索[1]

XML型[1]、[2]、[3]

XML出力[1]

XMLデータ型プラグイン[1]

XMLデータ検索[1]

XMLデータ検索機能使用時のインデクス定義例〔XMLデータ検索プラグイン〕[1]

XMLデータ検索の特長[1]

XMLデータ検索プラグイン[1]

同義語辞書移行ユティリティ[1]

XMLデータ変換コマンド（phdxmlcnv）によるESIS-B形式データの生成[1]

XMLのフィルタリング機能[1]

XML変換ライブラリ[1]、[2]

XML変換ライブラリで提供するクラス一覧[1]

XML変換ライブラリで提供するファイル一覧[1]

XQuery[1]

XQuery変換式を使用したXMLデータの部分更新[1]

XQueryを使用した全文検索機能の利用[1]

い

一括登録時最大メモリサイズ〔IXXMLインデクス型プラグイン〕[1]

異表記オプションの種類と指定する展開モードの対応[1]

異表記展開[1]

異表記展開検索〔全文検索〕[1]

異表記展開指定[1]

異表記展開指定の形式[1]

異表記展開の例[1]

インクリメンタル[1]、[2]

インデクス型[1]

インデクス作成開始ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクス作成方法[1]

インデクス作成方法指定の定義方法[1]

インデクス作成方法指定〔XMLデータ検索プラグイン〕[1]

インデクス作成方法に初期分割登録を指定してインデクスを作成する運用[1]

インデクス作成方法に分割遅延登録を指定してインデクスを作成する運用[1]

インデクス作成ルール追加機能使用時（INDEX_MEDIUM）のインデクス定義例[1]

インデクス作成ルール追加機能のインデクス定義[1]

インデクス情報の取得ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクス情報変更ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクス詰め替えユティリティ〔XMLデータ検索プラグイン〕[1]

インデクス定義ファイル〔系切り替え〕[1]

インデクス定義ファイル〔バックアップ〕[1]

インデクスのインクリメンタル（最適化）ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクスの拡張ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクスの格納ページ数の設定項目と設定値[1]

インデクスの定義〔XMLデータ検索プラグイン〕[1]

インデクスファイル自動拡張機能使用時のインデクス定義例（XMLデータ検索用インデクスの場合）[1]

インデクスファイル自動拡張機能のインデクス定義[1]

インデクス分割遅延登録運用変更ユティリティ〔XMLデータ検索プラグイン〕[1]

インデクス用グローバルバッファ最適化指定〔IXXMLインデクス型プラグイン〕[1]

う

運用環境のバックアップ[1]

え

英文検索機能のインデクス定義[1]

英文検索のインデクスに指定できる項目[1]

エラーコード詳細化指定[1]

エラー発生位置および詳細の取得[1]

エラーメッセージ[1]

お

重み[1]、[2]、[3]

重み指定の形式[1]

重み付き検索[1]

か

拡張NOT指定[1]

環境情報の定義方法〔IXXMLインデクス型プラグイン〕[1]

環境情報の定義方法〔XMLデータ検索プラグイン〕[1]

環境定義ファイル[1]

環境定義ファイルに設定できる定義項目〔IXXMLインデクス型プラグイン〕[1]

環境定義ファイルに設定できる定義項目〔XMLデータ型プラグイン〕[1]

環境定義ファイルの定義例〔IXXMLインデクス型プラグイン〕[1]

環境定義ファイルの定義例〔XMLデータ型プラグイン〕[1]

環境定義ファイル〔系切り替え〕[1]

環境定義ファイル〔バックアップ〕[1]

き

距離[1]、[2]

近傍条件検索[1]

近傍条件指定[1]

近傍条件指定の形式[1]

く

クラスメソッドの発行順序[1]

グローバルバッファ管理の運用[1]

け

系切り替え[1]

検索因子[1]

検索因子の形式[1]

検索オプション〔IXXMLインデクス型プラグイン〕[1]

検索高速化インデクス（V2）機能[1]

検索時最大ワークメモリサイズ〔IXXMLインデクス型プラグイン〕[1]

検索条件[1]

検索ターム[1]、[2]

検索に使用できる文字[1]

検索用ワークファイルディレクトリ〔IXXMLインデクス型プラグイン〕[1]

検索抑止インデクスサイズ〔IXXMLインデクス型プラグイン〕[1]

こ

更新前ログ取得モード[1]、[2]

構造検索パターン[1]

構造検索パターンの形式[1]

構造名指定の形式[1]

構造名の指定[1]

構造名のワイルドカード指定[1]

構造名を指定した検索条件のAND/OR論理条件[1]

構造名を指定した検索〔全文検索〕[1]

さ

サーバ単位[1]、[2]

最大同義語異表記展開数〔IXXMLインデクス型プラグイン〕[1]

削除文字指定機能使用時のインデクス定義例[1]

削除文字指定機能のインデクス定義[1]

し

資源の排他[1]

システム共通定義の変更[1]、[2]

システム単位[1]、[2]

指定できるワイルドカードおよび特殊文字[1]

障害発生時の運用方法[1]

使用できる文字[1]

除外文字検索[1]

初期分割登録[1]

初期分割登録使用時のインデクス定義例〔XMLデータ検索プラグイン〕[1]

初期分割登録〔XMLデータ検索プラグイン〕[1]、[2]

す

推奨する運用方法[1]

推奨する組み合わせ[1]

推奨する登録運用[1]

スキャン検索結果の重複排除[1]

スコア算出法指定〔IXXMLインデクス型プラグイン〕[1]

スコア値[1]

せ

性能向上の運用[1]

全角文字半角文字統一機能使用時のインデクス定義例[1]

前提プログラム[1]

全文検索条件式の形式[1]

全文検索条件式の指定例[1]

全文検索条件式の文法[1]

そ

即時登録[1]

即時登録〔XMLデータ検索プラグイン〕[1]、[2]

属性値指定[1]

属性値指定の形式[1]

属性の変換規則[1]

属性名[1]

た

大小文字統一機能使用時のインデクス定義例[1]

大小文字・全角文字半角文字統一機能のインデクス定義[1]

濁音統一機能使用時のインデクス定義例[1]

濁音統一機能のインデクス定義[1]

タグ間テキスト内の空白文字[1]

タグ間テキスト内の指定文字コードで表せない文字[1]

タグ間テキストの変換規則[1]

他列絞り込み率[1]

単純文字列指定[1]

単純文字列指定の形式[1]

ち

遅延データスキャン機能指定〔IXXMLインデクス型プラグイン〕[1]

抽象データ型[1]、[2]、[3]

抽象データ型関数[1]

抽象データ型関数の文法[1]

長音ハイフン展開拡張モード[1]

つ

通常のインデクス定義〔XMLデータ検索プラグイン〕[1]

て

提供するクラス一覧[1]

提供するファイル一覧[1]

データ格納領域の確保〔XMLデータ検索プラグイン〕[1]

データディクショナリのRDエリア容量[1]

データの登録〔XMLデータ検索プラグイン〕[1]

データのバックアップ[1]

データベース再編成ユティリティ[1]

データベース作成の流れ〔XMLデータ検索プラグイン〕[1]

データベース作成ユティリティ[1]

データベースの作成〔XMLデータ検索プラグイン〕[1]

テキスト検索条件の形式[1]

テキスト検索条件の指定[1]

デッドロックの防止[1]

と

同義語グループ内での文字種の制限[1]

同義語辞書[1]、[2]

同義語辞書削除ユティリティ〔XMLデータ検索プラグイン〕[1]

同義語辞書テキストファイル[1]、[2]

同義語辞書テキストファイルの記述例[1]

同義語辞書登録ユティリティ〔XMLデータ検索プラグイン〕[1]

同義語辞書の作成[1]

同義語辞書の登録[1]

同義語辞書バックアップユティリティ〔XMLデータ検索プラグイン〕[1]

同義語辞書ファイル[1]

同義語辞書名に指定できない記号[1]

同義語辞書〔系切り替え〕[1]

同義語辞書〔バックアップ〕[1]

同義語展開検索〔全文検索〕[1]

同義語展開指定[1]

同義語展開指定の形式[1]

統制ルール指定機能のインデクス定義[1]

統制ルールチェックユティリティ[1]

登録[1]

登録運用で推奨するパラメタの組み合わせ[1]

登録運用の種類[1]

登録運用のログ取得方式の設定[1]

登録・検索同時実行[1]

登録・検索同時実行指定[1]

登録・検索同時実行による運用[1]

登録・検索同時実行による運用の長所および短所[1]

登録・検索同時実行の設定〔XMLデータ検索プラグイン〕[1]

特殊文字の指定[1]

特定構造検索指定[1]、[2]

特定構造検索指定の形式[1]

特定構造指定の形式[1]

な

名前字句[1]

名前字句並び[1]

は

排他取得内容[1]

バックアップの取得方法[1]

ひ

標準エラー出力に出力されるメッセージ[1]

表の格納ページ数の設定項目と設定値[1]

表の作成〔XMLデータ検索プラグイン〕[1]

ふ

ファイル容量[1]

フィルタ情報定義ファイル指定時の注意事項[1]

フィルタ情報定義ファイルの指定規則[1]

フィルタ情報定義ファイルの指定形式[1]

フィルタリング指定項目一覧[1]

フィルタリング指定項目の優先順位[1]

複合指定例[1]

複合条件検索[1]

プラグインインストールディレクトリ[1]

プラグインインデクスの遅延一括作成[1]

プラグインインデクスの遅延一括作成による運用[1]

プラグイン定義ファイル名[1]

プラグイン提供関数からの一括取得処理[1]

プラグイン名[1]

分割遅延登録[1]

分割遅延登録使用時のインデクス定義例〔XMLデータ検索プラグイン〕[1]

分割遅延登録への移行時に実行する，インデクス情報変更ユティリティの指定例〔XMLデータ検索プラグイン〕[1]

分割遅延登録用ファイルオーバ時の処理〔IXXMLインデクス型プラグイン〕[1]

分割遅延登録・更新系SQL同時実行指定[1]

分割遅延登録・更新系SQL同時実行使用時のインデクス定義例[1]

分割遅延登録・更新系SQL同時実行の更新系SQL優先モード〔IXXMLインデクス型プラグイン〕[1]

分割遅延登録・更新系SQL同時実行の設定[1]

分割遅延登録〔XMLデータ検索プラグイン〕[1]、[2]

め

メッセージ一覧[1]

メッセージの記述形式[1]

メッセージログに出力されるメッセージ[1]

メッセージログ・標準エラー出力に出力されるメッセージ[1]

メモリ所要量[1]

も

目的[1]

文字コードによる機能差異[1]

文字種[1]、[2]

文字列指定インクリメンタルユティリティ〔XMLデータ検索プラグイン〕[1]

ゆ

ユーザLOB用RDエリア[1]

ユーザLOB用RDエリア容量[1]

ユーザ環境設定〔XMLデータ検索プラグイン〕[1]

ユーザ用RDエリア[1]

ユーザ用RDエリア容量[1]

ユティリティコマンドの排他制御のモード[1]

ユティリティの記述形式[1]

ユティリティの使用方法[1]

ユティリティ〔XMLデータ検索プラグイン〕[1]

ユニット[1]

ユニット単位[1]、[2]

よ

拗音展開拡張モード[1]

拗音統一機能使用時のインデクス定義例[1]

拗音統一機能のインデクス定義[1]

要素の変換規則[1]

要素名[1]

り

リソースの見積もり[1]

れ

例外クラス[1]

ろ

ログ取得モード[1]、[2]

ログ量[1]

ログレスモード[1]、[2]

論理演算検索〔全文検索〕[1]

論理積[1]

論理ファイル数[1]

論理和[1]