TRSdatabaseserver全文检索培训北京拓尔思信息技术股份有限公司项目开发中心支持服务部2012年2月培训目的掌握全文检索系统架构掌握全文检索安装部署和启动方法掌握管理员工具的常用功能掌握全文检索系统表达式和逻辑运算符为何要用TRSSERVER先引入几个概念结构化数据–成绩单,典型的结构化数据,特征是:可以通过设计一个结构体来存放元信息,这些信息组合起来能完整描述原有内容学号姓名成绩统计科目1科目2科目31张三859074249………………30李四818789257非结构化数据–此类信息具有“内容”特征,与结构化数据不同,很难通过拆分和运用结构体来存放元信息的方式完整描述他们全文数据半结构化数据–此类信息具有“内容”特征,同时又有结构化的元数据,如学生姓名、成绩、论文、简介学号姓名成绩统计科目1科目2科目31张三859074249………………30李四818789257数据的检索需求(1)查找:–张三的论文–2011-05-21提交的论文–题目含“全文”的论文–内容里涉及“内容管理”且运用“Java”技术实现的论文学号姓名提交日期论文题目论文1张三2011-05-20全文检索的软件实现全文检索的软件实.doc2…………3李四2011-05-21内容管理系统设计内容管理系统设计.PDF数据的检索需求(2)查找:–有“内容管理”和“java”,没有“TRS”的信息–只含“内容”的也要求查到–检索到的记录按以下要求进行排序•含关键字越多的越排在前面•关键字的出现位置越密集的越排在前面数据的检索需求(3)查找:–南京市长江大桥、我们要积极地主动作好计划生育工作–“大学生”,1926年福建协和大学生物系毕业?–“国有”,全国有色金属?–“生气”,这件事情让我很愤怒?–“乐器”,下面欣赏笛子独奏–“中华人民共和国”,“中華人民共和國”?–“China”,“china”?–“do”,“done”?–“1981年”“一九八一年”–………..梳理总结一下…•可以在整篇文本中进行查询•可以实现模糊查询•可以避免中文歧义词的干扰•可以做扩展查询,比如同义词,比如简繁体,比如英文的同根词•可以忽略关键字中字母的大小写……基于内容检索+属性检索追求“快”“准”“全”随着需求的丰富,对查询系统的要求也会增多大家很熟悉的…差异:•服务——引擎•部分返回——可全部返回•针对性的排序策略——产品化的排序策略•广博散——专精深TRS产品不适合做什么?•TRSDatabase不是关系型数据库•TRSDatabase是非事务性的•TRSDatabase不是要和关系型数据库竞争•智能的东西不是100%正确TRS全文数据库由服务器、管理工具和开发接口三部分组成服务器管理工具开发接口TRS全文数据库服务器(TRSDatabaseServer)TRS全文数据库运行版(TRSDatabaseRuntime)TRS全文数据库集群服务器(TRSDatabaseCluster)TRS管理员工具(TRSAdmin)TRSC/C++应用开发接口(TRSCAPI6.1)TRSCOM应用开发接口(TRSADO)TRSJava应用开发接口(TRSJavabeans)TRS.Net应用开发接口(TRSADO.NET)全文检索系统与关系型数据库的关系R关系型数据库服务器Gateway:定时导入TRSServerWAS/开发接口网站的检索用户TRS全文检索的解决之道TRSDBServerTRSCAPITRSJavaBeansTRSADO.NetTRSAdminTRSLTRSWASTRSDBServerTRSClusterSearchService产品安装支持的操作系统–Windows32位/64位–Linux32位/64位(红帽子、红旗、SUSE等)–Unix32位/64位(SUNSolaris、IBMAIX、HPUnix)产品安装产品介质目录安装方式:命令行、界面方式产品安装安装流程图产品安装界面安装产品安装命令行安装——交互式产品安装命令行安装——交互式–接下来就是自动安装的过程,主要完成一些初始化和演示数据的加载,完成后,剩余的步骤:产品安装命令行安装——参数方式参数和交互式安装的各步骤对应参数的使用有些规则–参数名:参数值–参数名:参数值–“DIR:D:\安装位置\trshome”–缺少的参数需要手工输入产品安装安装后目录说明产品升级–TRSServer升级的目的:•版本升级•补充添加其他字符集词典•更新已有词典–Tdbupdate.exeDIC:REW»更新指定字符集的词典内容–Tdbupdate.exeDIC:RIX»更新指定字符集的词典内容,并删除相关数据库的索引产品安装/升级产品的卸载–Windows•没注册为NT服务–执行tdbshutdown命令关闭服务•注册为NT服务–执行tdbservice-remove[-n:name],删除服务•注册了端口号–\system32\drivers\etc\services中删除“trsserver”行•界面安装–控制面板中调用卸载程序•删除安装目录–Linux/Unix•执行tdbshutdown命令关闭服务•注册了端口号–\etc\services中删除“trsserver”行•删除安装目录产品安装/升级启动/关闭(Windows)–没注册为NT系统服务•Trsservertdbshutdown–已注册为NT系统服务•手工启动–命令行–控制面板-管理工具-服务–TRS控制台•自动启动,随操作系统启动而启动•检索缓冲模块的启动可以配置小结•必须记住产品序列号,可以备份SYSTEM\KEY文件。•在使用TRS信息检索系统之前,必须保证先启动TRS服务器。•掌握TRS服务器的启动和关闭方法。•熟悉TRS服务器的目录结构。TRS管理员作用安装与卸载启动与退出基本概念:TRS对象及对象属性使用安装与卸载•安装:执行安装介质中的setup.exe•卸载从菜单选择卸载程序进行•目录结构:\TRS\TRSAdmin\bin:存放可执行文件、动态连接库和帮助文件等。\TRS\TRSAdmin\Navigate:存放数据库/视图的导航文件。\TRS\TRSAdmin\Temp:存放TRS管理员执行过程中生成的临时文件。启动与退出默认管理员账号密码:system/manager用户组用户词典数据库(数据库字段)视图(视图字段)文件格式TRS基本概念:对象对象管理——用户(自定义)用户类型所属组账户信息其他属性缺省设定DBAGDARESOURCECONNECT其他属性唯一登录密级检索历史缺省设定TRSServer的索引类型索引类型(也可理解为采用的算法,做简单描述)–B+树索引和倒排索引结合的方式•B+树用于对新入数据进行判断,放置到合适的叶子节点上•倒排索引用于关联叶子节点上关键字均所属于那些记录•B+树只是能快速定位TERM所保存的倒排索引–按字段进行索引–全文索引需要切分词,需要依据词典记录号正文1张三和李四是好朋友2我的好朋友李四的好朋友有很多关键词索引张三1[1]1李四1[1],2[1]4,6好朋友1[1],2[2]7,3,9词典分类词典索引词典主分词词典附加分词词典主停用词典附加停用词典稀疏词典知识词典主题词典同义词典反义词典这里简单的提一下,后面有更详细的介绍策略稀疏词典分词词典附加分词词典停用词典附加停用词典按词置空必需可有可无可有可无可有可无按字置空置空可有可无可有可无可有可无按关键词必需忽略忽略忽略忽略二元组置空可有可无可有可无可有可无可有可无TRSServer的索引策略字母文字,总是按“单词”进行索引表意文字按词索引配置•主分词词典[附加分词词典]•稀疏词典优势•查准率高•查询速度快•索引膨胀率低•可进一步实现智能扩展不足•不能保证100%查全和准确率按字索引(文言文、姓名等常用)配置不需要检索单字允许检索单字•不指定任何分词(附加分词)和稀疏词典•按词索引,但相应字段的索引模式置为“禁止词模式”•指定全字词典•按词索引,但相应字段的索引模式置为“禁止词模式”,并打开“单字索引开关”优势•查全不足•查准率低•速度慢•膨胀率高•无法智能扩展对象管理——词典词典是一类预定义结构的数据库属性包括:–名称–所有者–词典类型–公共访问权限–字符集–数据存放路径–注释对象管理——词典分类说明特点分词词典附加分词词典停用词典附加停用词典稀疏词典主题词典同义词典反义词典实体词典辅助索引词典(系统使用)歧义词典、二元组词典、单字词典分词词典附加分词词典表意文字有效字母数字无效英文不需使用提供全字词典作为分词词典的补充,满足行业和特殊情况下索引依据的需要停用词典无意义的高频词:“的”“the”“of”不建立索引支持任何语言附加停用词典作为停用词典的补充某些特殊领域常用稀疏词典单独使用与分词词典互斥不对全文索引只对词典中含的词索引主题词典又称“叙词表”对词及其关系词进行关联关系词如:等同、上位、替代、相关等同义词典主题词典的补充比主题词典关系简单,便于维护反义词典类似,扩大扩展检索范围反义词典检索时调用仅支持部分检索函数不区分字符集只能系统自动创建实体词典对象管理——数据库(1)一些概念–记录(行)、字段(列)、字段值–规模:记录数、库文件的最大容量–单条记录长度、单个字段值长度•记录:256M•字段:16M•系统会限制(TRS设定物理内存除以32)字段1字段2ABCD字段1字段2ABCD字段1字段2ABCD字段1字段2ABCD操作系统文件系统最大记录数最大库文件32位32位4亿2G/4G(Win)64位20亿不限64位40亿属性对象管理——数据库(2)名称拥有者状态锁别名索引开关宿主系统开关字符集缺省检索字段词典存放路径注释GB18030UTF-8BIG5公共访问权限主分词附加分词主停用附加停用稀疏词典检索更新索引库修改库删除词根大小写数字二元压缩停用词对象管理——数据库字段(1)公共属性–名称、别名、注释、存放路径–字段类型–公共查询开关–禁止索引开关–索引存放路径日期型(DATE)短语型(PHRASE)数值型(NUMBER)全文型(DOCUMENT)字符型(CHAR)二进制型(BIT)虚拟字段(BIT)——属性说明最大精度/最大长度全字索引开关字段值格式词根索引语种缺省字段值数据缓冲开关字段值范围相关性开关允许多值开关虚拟逻辑字段开关值唯一性开关缺省虚拟字段开关禁止空值开关索引属性混合索引模式——对象管理——数据库字段(2)各字段类型私有属性对象管理——数据库字段(3)NUMBER、CHAR、DATE属性说明最大精度/最大长度字段值格式缺省字段值字段值范围允许多值开关值唯一性开关禁止空值开关类型含义数值型(NUMBER)精度:数值长度、小数位精度字符型(CHAR)字符串长度存储时有效类型含义数值(NUMBER)输出时的格式,包括:对齐方式(左、右、整数、实数)及基准无效0是否保留全角/半角例如:L.DP:左对齐;半角;保留小数点后的无效0123456.78900012345.000000字符型(CHAR)输入时的格式,要求指定位置须是:英文字符数字空格任意例如:A9XX9A:“a9中国1F”日期型(DATE)输出时的格式,12种/类*3类是否保留“时分秒”“月日时分秒”是否固定两位表示“年月日”分隔符为“.”or“/”or“-”无分隔符以上约束分别对应:数字、英文、中文说明:存储时不重新赋值,将按缺省值存储类型缺省值允许数值(NUMBER)自定义值$CODE:记录入库时的唯一自然数顺序码字符型(CHAR)自定义值$CODE:记录入库时的非数字唯一顺序码$USER:当前操作的用户名日期型(DATE)自定义值$DATE:当前“年月日”$TIME:当前“年月日时分秒”类型含义数值型(NUMBER)只允许指定的范围内的值提交存储,有三种方式:枚举:V1,V2,Vn区间:V1,…,Vn混合:V1,V2,…,Vn,V