etx_CreateSynWlst() 例程

etx_CreateSynWlst() 例程创建一个同义词列表,供搜索引擎在文本搜索期间识别同义词。

语法

etx_CreateSynWlst (list_name, file_name, sbspace)

元素 用途 数据类型
list_name 同义词列表的名称。如果输入的名称超过 18 个字符,该名称将自动截断至 18 个字符。 CHAR (18)
file_name 文本搜索引擎从中装入同义词列表的操作系统文件的绝对路径名。该文件可以位于服务器或客户机机器上。例程首先会搜索客户机机器。 LVARCHAR
sbspace 可选参数,用于指定存储同义词列表的智能大对象空间。如果未指定智能大对象空间,那么数据库服务器将在缺省智能大对象空间中存储同义词列表。 CHAR (18)

返回类型

无。

用法

使用 etx_CreateSynWlst() 例程在智能大对象空间中存储同义词列表。

同义词列表是您希望搜索引擎视为同等的词列表。例如,假设您在同义词列表中指定 java 为根词 coffee 的同义词。这样,尽管在线索中指定的词是 coffee,搜索引擎仍会在遇到 java 一词时记录一次命中。

线索中所有将由其同义词替换的词都必须作为根词列出。例如,java 是根词 coffee 的同义词。如果文本搜索引擎找到 java 一词,coffee 一词的同义词匹配搜索会记录一次命中。而与之相反的情况(当搜索引擎找到 coffee 时,对 java 的搜索会记录一次命中),只有当 java 也作为根词列出且 coffee 作为其同义词之一时,才会成立。

包含同义词的操作系统文件的格式为每行一个根词,后跟一个或多个同义词,词之间以空格相隔。根词及其同义词必须全部在同一行上。包含文本的每一行之后将有一个空行,如以下示例所示:
ABANDON RELINQUISH RESIGN QUIT SURRENDER 

ABILITY APTITUDE SKILL CAPABILITY TALENT 

SLANT SLOPE INCLINATION TILT LEANING 
操作系统文件不得包含任何专有的格式信息,并且只能包含创建索引时由 CHAR_SET 索引参数为索引提供的字符。
重要: 确保在操作系统同义词文件中的文本行之间有额外的一个空行。如果遗漏了空行, DataBlade Module 不会返回错误,但它在同义词匹配搜索中将永远找不到任何同义词。另外还必须确保所有同义词拼写正确。

缺省同义词列表

如果在 etx_contains() 运算符中指定了 MATCH_SYNONYM 调整参数,但未对其赋值,那么 etx_contains() 会引用名为 etx_thesaurus 的缺省同义词列表。您可以从您自己的同义词列表自行创建 etx_thesaurus 同义词列表,也可以根据 DataBlade Module 附带的、位于下列位置的标准英语同义词列表,创建一个同义词列表:
$GBASEDBTDIR/extend/ETX.version/wordlist/etx_thesaurus.txt
其中,version 是指您计算机上安装的 DataBlade 模块的当前版本。

如果某个查询引用 etx_thesaurus 同义词列表,而此列表尚未创建,那么 GBase 8s Excalibur Text Search DataBlade 模块会返回一个错误。

在创建了您自己的列表后,请使用 etx_CreateSynWlst() 过程在智能大对象空间中存储 etx_thesaurus 列表。

示例

下列语句将创建名为 my_synonym 的同义词列表:
EXECUTE PROCEDURE etx_CreateSynWlst 
    ( 'my_synonym', '/local0/excal/syn_file', 'sbsp2');

搜索引擎从操作系统文件 /local0/excal/syn_file 装入 my_synonym 的内容并进行存储。 etx_CreateSynWlst() 过程在名为 sbsp2 的智能大对象空间中存储同义词列表。