词典文件可以使用元数据编辑设计器新建生成,还可以使用元数据文件和字典文件生成。词典文件的后缀为.glxc。
在元数据编辑设计器中使用元数据文件和词典文件能进行搜索实验。如果将词典文件和引擎一起部署在web服务器上,客户端可以输入词典中定义好的搜索词进行汉语查询,得到搜索结果。
打开元数据编辑设计器,在菜单栏中点击文件 - 新建,创建词典文件:
如下图所示,这是设计好的词典文件demo.glxc。
下面我们会逐步对词典文件中的配置做详细介绍。
量纲是一种数值的类型,比如:长度、重量、金额等。量词是用来表示计量单位的词,比如:公里、吨、元等。一个量纲可设定多个量词。
在数据结构tab - 量纲的设定中,包括量纲和量词。
同一个量纲里的量词之间有系数关系,比如设置量词元的系数为1,那么量词百元的系数就为100。
添加完量词,量词就会出现在数据结构tab - 表 - 宏字段的量词下拉列表中。
在搜索实验中,程序会自动根据搜索语句中的量词匹配其所指向的字段词,并且将字段表达式作为条件添加至where语句中。
Ø 表
表中的内容为可查询的逻辑数据表。
在数据结构tab - 表的设定中,包括表名、宏字段和字段簇。
【表名】表名对应元数据文件中DQL表的名称,不可重复。
【宏字段】表上广义字段构成的计算式被称为宏字段。宏字段用于定义字段词和字段簇。搜索字段词时,后台自动将字段词替换成广义字段表达式。导入元数据时,宏字段的标识和表达式默认为 表.字段。
【标识】词典中标识具有唯一性。
【广义字段表达式】支持本表字段、多字段组成的表达式、通过外键引用其他表字段等多种方式。同一个表内,广义字段表达式不可重复。
【数据类型】宏字段的数据类型。
【量词】为宏字段设置量词,下拉列表框中的量词来自量纲中的量词。
【字段簇】通常把某个动作相关的一组宏字段定义为一个字段簇,用于定义动词。比如上图,将与出生有关的Employee.BirthDate和Employee.HomeCity定义成字段簇Employee_cluster1。一个宏字段只能被一个字段簇定义,不能同时用于多个字段簇。
在编辑tab - 表词的设定中,为表添加一个或多个表词名称,通过表词指定表名。
【表词名称】表名的别名,多个时以逗号分隔。有字典时,字典中的标题对应词典中的表词名称。
【表名】从下拉列表框中选择表,表名来自数据结构tab - 表中的表名。
在编辑tab - 字段词中设定字段词并关联字段簇。搜索字段词时,自动匹配对应的宏字段。
【字段词】为字段添加字段词名称,多个时以逗号分隔。有字典时,字典中字段项里的名称对应词典中的字段词名称。
【宏字段】一个字段词可设置多个宏字段。下拉列表框中的宏字段标识对应数据结构tab - 表 - 宏字段的标识。
【输入宏字段关键字进行查找/输入字段词关键字进行查找:】输入关键字后,点击【查找】可快速搜索关键字或字段词。
在编辑tab - 维词的设定中,包括维词和常数词。
【维词】维词对应元数据文件中的维,一个维可添加多个维词名称,多个时以逗号分隔。
【常数词】将一些维字段的值定义为搜索用语,比如枚举、布尔、数值等类型的维。真实值可以是单值、序列或者表达式,值为表达式时需勾选“值是表达式类型”,值为字符串时需使用双引号。
真实值为序列:
真实值为表达式:
使用批量增加常数词,可通过执行SPL一次性添加多个常数词。
在编辑tab - 比较词中设定比较词,以便搜索时根据比较词对应的表达式,筛选出符合条件的数据。
在编辑tab - 排序词中设定排序词,以便搜索时根据对应的排序方向呈现相应的数据排列。排序词必须放在字段词的右边,支持对多个词进行排序。
选出指定数量的数据时,需勾选选出排序词。比如:订单金额前5
在编辑tab - 动词中设定动词并关联字段簇。使用动词定义可设定一些具有动作的词语,动词必须和名词搭配使用,比如:生于1978年、生于北京。
在编辑tab - 聚合词中设定聚合词,以便搜索时根据聚集方法对字段进行相应的聚合运算。可手动选择聚合词在搜索语句中的位置。
缺省按字段词所选的聚合方式进行聚合。搜索语句不包含维词时按当前表进行聚集,有维词时则按维词进行分组聚集。
在编辑tab - 连词中设定连词,来连接词与词、短语与短语或句子与句子。连词不能单独作句子成分,只能起连接作用。
在编辑tab - 宏词中设定宏词。搜索时程序发现宏词后会自动替换成定义好的字符串,再重新解析搜索语句。使用宏词可以提高搜索语句的通用性和易读性,且便于修改。
在编辑tab - 无效词中设定无效词,以便使搜索时的搜索语句更易读,同时又不会产生错误的结果。顾名思义无效词在搜索语句中会被忽略。
可使用工具 - 导入元数据功能,将元数据中的表、字段和维全部导入到词典中。
【加载并更新词典】加载表、字段和维,并更新词典文件。
【删除不在元数据中的内容】删除词典中已存在而元数据中不存在的表、字段项和维。
【仅加载(辅助编辑)】便于辅助编辑。加载表、字段和维,不更新词典文件。
元数据文件必选,字典文件可选。没有字典文件时,导入后,各个表词、字段词、维词的名称默认与其在元数据中定义的名称相同;有字典文件时,导入后,各个表词、字段词、维词的名称与其在字典中定义的名称相同,字段词名称重复时程序自动合并宏字段。
例如:先新建词典,再导入示例元数据文件demo.glmd,导入后的词典文件如下图。
先新建词典,再导入示例元数据文件demo.glmd,并选择了字典文件demo.gdct,导入后的词典文件如下图。