この節では,入力表と出力表の構成について説明します。
Text Search Plug-in Index Generatorは,HiRDBに登録されている電子ドキュメントを取り出し,テキストデータを抽出します。この電子ドキュメントが登録されている表を入力表といいます。抽出したテキストデータは,全文検索用データとしてHiRDBに登録されます。この全文検索用データが格納される表を出力表といいます。これら入力表および出力表の構成は,HiRDBサーバ構成に従う必要があります。Text Search Plug-in Index Generatorを適用したHiRDBサーバ環境を新規に構築する場合は,入力表およぴ出力表がその環境に適した表構成となるように設計してください。既存のHiRDBサーバ環境にText Search Plug-in Index Generatorを適用する場合は,入力表およぴ出力表がその環境に適応するのかどうかを検討してください。なお,全文検索用列が入力表にある場合と,異なる表にある場合では,表構成が異なります。
全文検索用列が入力表にある場合と異なる表にある場合での,入力表と出力表の構成を,表2-1~2-3に示します。
表2-1 全文検索用列が入力表と同じである場合の表構成
項番 | 列 | データ型(データ長) | ナル属性 | 入出力 | 情報設定者 | インデクス作成 | 列追加 |
---|---|---|---|---|---|---|---|
1 | ユニークキー列 | ユーザ指定 | 不可 | 入力 | ユーザ | 推奨 | 既存列流用可 |
2 | 入力ドキュメント格納列 | BINARYまたはBLOB | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
3 | 入力ドキュメントファイル名称格納列 | MVARCHAR(512バイト) | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
4 | 入力ドキュメントコンテントタイプ情報列 | VARCHAR(255バイトまたは256バイト) | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
5 | インデクス作成指定情報列 | INTEGER | 不可 | 入力 | ユーザ | 推奨 | 既存列流用可 |
6 | インデクス作成状態列 | INTEGER | 不可 | 入出力 | 初期化:ユーザ 更新:TSPIndexerコマンド | 推奨 | 追加要 |
7 | TSPIndexer保守情報列 | VARCHAR(8バイト) | 不可 | 入出力 | 初期化:ユーザ 更新:TSPIndexerコマンド | 不要 | 追加要 |
8 | 全文検索用列 | SGMLTEXTまたはFREEWORD | 可 | 出力 | TSPIndexerコマンド | 必須 | 追加要 |
表2-2 全文検索用列が入力表と異なる場合の入力表構成
項番 | 列 | データ型(データ長) | ナル属性 | 入出力 | 情報設定者 | インデクス作成 | 列追加 |
---|---|---|---|---|---|---|---|
1 | ユニークキー列 | ユーザ指定 | 不可 | 入力 | ユーザ | 推奨 | 既存列流用可 |
2 | 入力ドキュメント格納列 | BINARYまたはBLOB | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
3 | 入力ドキュメントファイル名称格納列 | MVARCHAR(512バイト) | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
4 | 入力ドキュメントコンテントタイプ情報列 | VARCHAR(255バイトまたは256バイト) | 可 | 入力 | ユーザ | 不要 | 既存列流用可 |
5 | インデクス作成指定情報列 | INTEGER | 不可 | 入力 | ユーザ | 推奨 | 既存列流用可 |
6 | インデクス作成状態列 | INTEGER | 不可 | 入出力 | 初期化:ユーザ 更新:TSPIndexerコマンド | 推奨 | 追加要 |
7 | TSPIndexer保守情報列 | VARCHAR(8バイト) | 不可 | 入出力 | 初期化:ユーザ 更新:TSPIndexerコマンド | 不要 | 追加要 |
表2-3 全文検索用列が入力情報表と異なる場合の出力表の構成
項番 | 列 | データ型 | ナル属性 | 入出力 | 情報設定者 | インデクス作成 | 列追加 |
---|---|---|---|---|---|---|---|
1 | ユニークキー列 | ユーザ指定 | 不可 | 入出力 | ユーザ | 推奨 | 既存列流用可 |
2 | 全文検索用列 | SGMLTEXTまたはFREEWORD | 可 | 出力 | TSPIndexerコマンド | 必須 | 追加要 |
以降,表2-1から表2-3に示す列の詳細について説明します。
TSPIndexerコマンドがデータを操作するときに必要なユニークキーを指定します。各行で重複しないキー値を指定してください。ユニークキーを構成する列は,複数列でユニークとなる列群にも対応します。指定できる列数は3列までです。既存列を指定することもできます。指定できる列の属性を次に示します。
全文検索対象とする電子ドキュメントが格納されている列です。既存列を指定できます。指定できる列の属性を次に示します。
ナル値データまたはデータ長が0バイトのデータに対して,全文検索列への登録処理が実行された場合,行データ不正として当該行の処理をスキップします。
全文検索対象とする電子ドキュメントのファイル名を格納する列です。「ファイル名.拡張子」の形式で格納してください。ファイル名が512バイトを超える場合は,ファイル名の先頭文字を削除して格納します。終端の拡張子は削除しません。ファイル名には.(ピリオド)を指定できます。
ナル値データまたはデータ長が0バイトのデータに対して,全文検索列への登録処理が実行された場合,行データ不正として当該行の処理をスキップします。
全文検索対象とする電子ドキュメントのコンテントタイプを格納する列です。
全文検索用列への登録を実行するかどうか(全文検索対象とするかどうか)を指定します。次のどちらかの値を指定してください。
(5)でインデクス作成を指定された電子ドキュメントに対して,実際に登録を完了したかどうかを設定します。この列は,電子ドキュメントを登録または更新したときに,初期値で初期化されます。TSPIndexerコマンドは,初期状態の場合に登録処理を実行します。
インデクス作成状態列には,次のどれかが設定されます。
設定値 | 内容 |
---|---|
0 | 全文検索列へデータ未登録(初期値) |
1 | 全文検索列へデータ登録済み |
100 | 抽出したテキスト長がText Search Plug-inの制限を超えました |
101 | 入力行のデータ不正(サポート外文書含む)によって,登録に失敗しました |
102 | データ不正以外の要因によって,登録に失敗しました |
抽出したテキストデータは,全文検索用列に登録されます。このとき,登録先の全文検索用列のデータ型種別によって,登録できるテキストサイズが次のように異なります。
抽出したテキストデータがこのサイズを超える場合は,LEVEL_FORCEに指定した内容に従って処理されます。LEVEL_FORCEの指定値とそれに対応する処理を次に示します。
TSPIndexerコマンドの保守用の列です。電子ドキュメントの登録・更新時には,初期値で初期化してください。それ以外の場合は更新しないでください。
電子ドキュメントから抽出したテキストデータを登録する,全文検索用列です。データ型は,SGMLTEXT型またはFREEWORD型のどちらかを設定できます。NGRAMインデクスまたはIXFREEWORDインデクスは,Text Search Plug-inの遅延更新機能をご使用になることをお勧めします。全文検索用列のインデクス定義については,「2.3 インデクスの作成」を参照してください。