在设计和实现基于OAI-PMH的元数据搜索引擎过程中,需要解决很多方面的问题。
对于中小型搜索引擎,最好使用开放源代码软件来实现。
一、实现基于OAI-PMH的元数据搜索引擎,我采用了如下开放源代码软件:
(1)OAIHarvester:从支持元数据资源开放的DataProvider获取元数据资源。
(2) HTMLParser:用于解析HTML页面,并从中解析出可以有效获取与元数据对应的全文(fulltext)的url地址。
(3)Lucene:建立全文索引数据库 ,实现索引和检索。
(3)CJKAnalyzer:中文分词程序。
(4)PDFBox:用于处理PDF格式全文,可以轻易实现从PDF中提取文本、图片。
(5)tm-extracter:用于从PDF和Doc文件中提取文本。
二、设计和实现过程中需要解决的关键问题:
(1) 改进OAIHarvester,使之基于多线程下载。
(2)设计和实现简单的XMLParser。用于解析OAIHarvester的获取结果:xml文档。
(3)实现元数据对应的全文获取。需要解析html文档。
(4)各种格式文件(如:pdf、doc等)文件的索引问题。需要首先提取文本,然后对关键文本进行获取。
(5)元数据的语种识别。该问题还没有解决,如果有谁解决了该问题的话,请帮忙。据说TextCat(C语言实现)可以实现语种识别,但没找到源代码。如果谁有的话,希望能共享一下。
(6)检索界面的设计与实现。仿照cnki的界面来设计。
三、在阅读开放源码软件的时候,一定要认真分析其引用的第三方软件。
在学习和实践数字仓储管理系统Dspace的过程中,我发现Dspace引用的开放源码软件非常丰富,而且引用得非常成功。