2つの具体的な例を用いて、インデックス定義ファイルの作成例を説明します。
抽出定義の設定については、“図2.5 CHAR型の列の文書データを全文検索の対象とする場合”までの手順のとおりに設定します。
以下に、インデックス定義ファイルの説明をします。
database - string(40) - schema - string(40) - table - string(40) - ROWID - string(49)/noCut id ←必須指定項目 code - integer(4) - ←「コード」列に対応するフィールド contents JAPANESE string(256) - ←「概要」列に対応するフィールド
MappingDefタグのdbinfo属性に'yes'を指定するか、またはdbinfo属性を省略した場合、「database」、「schema」および「table」フィールドは必ず指定してください。
「ROWID」フィールドは必ず指定する項目です。
「code」フィールドは、検索の結果、データベースの行を特定するために使用します。このフィールドは、データベースの表の一意性制約(PRIMARY KEY)が付けられた「コード」列に対応しています。
「contents」フィールドは、全文検索対象となっているフィールドであり、データベースの表の「概要」列に対応します。全文検索の結果、255バイトまでの文字列がアプリケーションに返却されます。
列とフィールドの対応付けは、“2.6 Textアダプタ定義の設計”に記述します。
BLOB型の列の文書データを全文検索の対象とする場合(1)は、CHAR型の列の文書データを全文検索の対象とする場合と、同じ形式になります。
BLOB型の列の文書データを全文検索の対象とし、その検索結果にほかの列のデータを付随する場合の例を示します。
抽出定義の設定については、“図2.7 BLOB型の列の文書データを全文検索の対象とする場合(2)”までの手順のとおりに設定します。
以下に、インデックス定義ファイルの説明をします。
database - string(40) - schema - string(40) - table - string(40) - ROWID - string(49)/noCut id ←必須指定項目 code - integer(4) - ←「コード」列に対応するフィールド date - string(12) - ←「日付」列に対応するフィールド author - string(40) - ←「著者」列に対応するフィールド title JAPANESE string(40) - ←「書名」列に対応するフィールド contents JAPANESE string(256) - ←「概要」列に対応するフィールド
MappingDefタグのdbinfo属性に'yes'を指定するか、またはdbinfo属性を省略した場合、「database」、「schema」および「table」フィールドは必ず指定してください。
「ROWID」フィールドは必ず指定する項目です。
「code」フィールドは、検索の結果、データベースの行を特定するために使用します。このフィールドは、データベースの表の一意性制約(PRIMARY KEY)が付けられた「コード」列に対応しています。
「date」、「author」フィールドは、それぞれデータベースの表の「日付」列、「著者」列に対応します。
「date」と「author」フィールドには、検索フィールド種別が指定されていないため、インデックス対象とはなりませんが、検索結果に付随する情報としてアプリケーションに返却されます。
「title」フィールドは、全文検索対象となっているフィールドであり、データベースの表の「書名」列に対応します。全文検索の結果、39バイトまでの文字列がアプリケーションに返却されます。
「contents」フィールドは、全文検索対象となっているフィールドであり、データベースの表の「概要」列に対応します。全文検索の結果、255バイトまでの文字列がアプリケーションに返却されます。
列とフィールドの対応付けは、“2.6 Textアダプタ定義の設計”に記述します。