用户定义字符集

有时,内置字符集可能不适合您的文本文档或您计划执行的搜索类型。例如,您可能想要对连字符建立索引,以便能够对包含连字符的词(如 English-language)建立索引并进行搜索。由于三种内置字符集仅对字母数字字符建立索引,所以您必须创建您自己的字符集以对连字符建立索引。

必须首先创建用户定义字符集,然后才能使用它来创建 etx 索引。使用由 DataBlade Module 提供的例程 etx_CreateCharSet() etx_DropCharSet() 来创建或删除用户定义字符集。

etx_CreateCharSet() 例程接受两个参数:用户定义的新字符集的名称以及包含该字符集描述的操作系统文件的完整路径名。该操作系统文件包含一个 16 x 16 的十六进制数矩阵,用于表示对哪些字符建立索引。创建矩阵时,请参阅 ISO 8859-1 字符集

以下示例显示如何执行 etx_CreateCharSet() 例程,以通过名为 /local0/excal/my_char_set_file 的操作系统文件中包含的描述,创建名为 my_charset 的用户定义字符集:
EXECUTE PROCEDURE etx_CreateCharSet 
    ('my_charset', '/local0/excal/my_char_set_file');
下面的示例显示了如何通过将用户定义字符集 my_charset 指定为 CHAR_SET 索引参数的选项,来创建使用该字符集的 etx 索引。
CREATE INDEX desc_idx2 ON videos (description etx_clob_ops)
    USING etx (WORD_SUPPORT = 'PATTERN', CHAR_SET = 'my_charset') 
    IN sbsp1;