索引子系统的设计与实现
储采用持久化技术。其中倒排文档的构建是该系统的关键部分,这个倒排索引文档包含了XML的结构信息,除了去掉了那些没有语义的词和用户指定的停用词,整个倒排索引几乎是原文献的一个异构的备份。CnX索引子系统在分析处理并完成倒排索引的构建后,可根据用户的需求对索引中语词对进行评分,为以后的检索做必要的准备。其中评分采用的是Okapi BM25概率评分模型,通过顺序扫描索引列表快速计算各个项的分数。系统采用C/S架构,这样有利于系统的分层部署,又由于系统的数据存储完全使用了持久化技术,这样就更易于把系统部署到不同的数据库系统上。同时,数据库系统在该系统中仅仅承担着数据存储的任务,系统不依赖于数据库系统。数据存储部分可以由用户另外单独实现,也可以实现持久化数据存储接口,将最后的索引数据以一个合理的方式直接保存在文件系统之上,这样系统将会具有更强的独立性。
该子系统采用多线程并行设计,人机交互接口良好。多核时代的到来,大大提高了多线程并行程序设计的重要性,本系统也采用多线程设计,可在界面上设置同时运行的最大线程数,每个单独线程将会处理一个XML文档,但是多线程并行访问全局索引的时候,就必须要考虑到线程间的资源共享和线程间的同步问题。通过锁的机制来控制关键区,以保证关键区在每个时刻都只有一个线程在访问,用户不必关心具体是哪个XML文档正在被处理,当前被处理的所有文档的内容都会实时的保存的各自的线程空间里。所有线程处理完毕,程序可以显示完成状态等
1.4 论文的研究内容和意义
本论文主要探讨了如何在XML文献集上高效而准确地检索信息,根据这个总体的需求,合理应用了信息检索领域里的相关理论和方法,设计并实现了一个XML信息检索的索引子系统。该索引子系统是整个检索系统的基础,对于检索系统的整体构建有着很重要的意义。
研究内容
本论文从构建CnX信息检索系统的大局出发,侧重其索引子系统的设
计与实现。XML信息检索系统主要分为倒排索引的构建和信息的检索,而本论文侧重的则是构建XML文献的倒排索引,通过学习现代信息检索各方面的知识,并结合XML技术发展的现状,本论文研究的内容主要包括:如何高效构建XML文献的倒排文档,如何建模、标引并检索,如何高效利用XML的树型结构,采用何种评分模型最有利于XML文献的检索等;另外本论文同时注重系统本身的构建方法,在设计和实现过程中,使用了一些面向对象的技术,如Java、JNI、持久化技术、反射技术等。本论文针还对中文XML文献集的检索做了不少的研究工作,主要包括如何提高中文的分词的准确率和效率和如何区分中英文词干的提取等等。