付録A 登録する文書(テキストデータ)および文字列データに使用できる文字

ここでは,Text Search Plug-inで扱う文書および文字列データに使用できる文字と,登録する文字に関する注意事項について説明します。

<この節の構成>
(1) 登録する文書(テキストデータ)および文字列データに使用できる文字
(2) 英文で登録する文書(テキストデータ)および文字列データに使用できる文字
(3) utf-8で使用できる文字コード
(4) 登録する文字に関する注意

(1) 登録する文書(テキストデータ)および文字列データに使用できる文字

登録する文書(テキストデータ)および文字列データに使用できる文字を,表A-1および表A-2に示します。

表A-1 登録する文書(テキストデータ)および文字列データに使用できる文字(HiRDBの文字コード種別がSHIFT-JISのとき)

文字種長さ(バイト)配置
2バイトコードの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の場合)

文字種長さ(バイト)配置
2バイトコードの1バイト目2バイトコードの2バイト目
文字コード1バイト
文字コード
1バイト0x20~0x7E
2バイト
文字コード
2バイト0x8E0xA1~0xDF
0xA1~0xFE0xA1~0xFE
制御コードJIS制御
文字コード
1バイト0x09

(2) 英文で登録する文書(テキストデータ)および文字列データに使用できる文字

英文で登録する文書(テキストデータ)および文字列データに使用できる文字を,次の表に示します。

表A-3 登録する文書(テキストデータ)および文字列データに使用できる文字(HiRDBの文字コード種別がSHIFT-JIS,EUCおよびutf-8のとき)

文字種長さ(バイト)使用できる文字
文字コード1バイト文字コード1バイト0x20~0x7E
制御コードJIS制御文字コード1バイト0x09

なお,HiRDBの言語種別がutf-8の場合は,Text Search Plug-inでも文字コードutf-8(MS-UnicodeまたはJISX0221)を使用できます。ただし,インデクス定義にINDEX_UCS4の指定はできません。

(3) utf-8で使用できる文字コード

使用できるutf-8の範囲を次の表に示します。

表A-4  utf-8コードで使用できる文字(表内の文字コード表現は16進数)

コードポイント1バイト2バイト3バイト4バイト5バイト6バイト
U+00000009​,U+00000020​~U+0000007​E09,20~7E
U+00000080​~U+000007FFC280~DFBF
U+00000800​~U+0000FFFFE0A080~EFBFBF
U+00010000​~U+0010FFFFF0908080​~F48FBFBF
U+00110000​~U+001FFFFFF4908080​~F7BFBFBF
U+00200000​~U+03FFFFFFF888808080​~FBBFBFBFBF
U+04000000​~U+7FFFFFFFFC8480808080​~FDBFBFBFBFBF
注※
UCS4の範囲の制御文字については,記述できない範囲があります。

(4) 登録する文字に関する注意

(a) 使用できない文字に関する注意

Text Search Plug-inでは,可視状態でつながって見える文字でも,文字と文字の間に表A-1A-2およびA-3またはA-4に示す以外の文字が含まれていると,検索タームを指定してもヒットしません。表A-1A-2およびA-3またはA-4に示す以外の文字が登録文書中に含まれていても,登録は正常に処理されエラーにはならない場合があるため,表A-1A-2およびA-3またはA-4に示す以外の文字が含まれているテキストデータの取り扱いにはご注意ください。

例えば,次のような場合は検索を実行してもヒットしません。

可視状態:日立
1文字目に「日」,2文字目に「立」と見えています。
実際のデータ:日<表A-1およびA-2に示す以外の文字>立
「日」と「立」の間に<表A-1A-2およびA-3またはA-4に示す以外の文字>が含まれていると,1文字目は「日」,2文字目の「<表A-1A-2およびA-3またはA-4に示す以外の文字>」は検索対象でないため無視され,3文字目は「立」として登録されます。
検索:検索ターム「日立」
検索タームに「日立」を指定しても,実際のデータは「日」と「立」が連続していないためヒットしません。
また,<表A-1A-2およびA-3またはA-4に示す以外の文字>は検索対象でないため,検索タームに<表A-1A-2およびA-3またはA-4に示す以外の文字>を指定してもヒットしません。

「日<表A-1A-2およびA-3またはA-4に示す以外の文字>立」をヒットさせたい場合は,検索タームとして「日?立」,「日??立」,「日*立」,「日」と「立」の近傍条件などを使用してください。

英文検索は,デリミタなどの定義によってはヒットする場合もあります。

(b) 改行コードに関する注意

登録するテキストデータの改行コードには,LF(0x0a)を使用してください。登録するテキストデータに使用している改行コードがCR+LF(0x0d0a)の場合,改行コードを次のように処理します。