随着信息化进程的加快和深入,越来越多的企业建起了自己的企业网站(Intranet),而且这样的网站规模越来越大,数据越来越多、种类也越来越丰富,导致的结果是用户要在这些数据中找出自己感兴趣的信息越来越困难,不借助搜索引擎做到这一点似乎变得越来越不可能。 利用Google这样的大型商业搜索引擎提供的站内搜索功能当然也是一个选择,但它毕竟是为了满足绝大多数企业站内搜索的共同需求设计,缺乏个性化,同时还有一些其他缺点,比如:①能够索引的内容有限:搜索引擎并不会将网站所有的内容都索引进去,并且通常只能搜集网页信息,而无法搜集文本、pdf、word等数据文件的信息或者数据库数据;②更新慢:搜索引擎针对站点的更新频率也是有一定周期的,很多内容需要一定时间后才能进入索引;③内容不精确:搜索引擎需要从页面内容提取文本数据,但这种机制很难避免数据的重复。 所以企业越来越需要自己的站内搜索引擎来为用户提供更高质量的检索服务。本课题正是针对这种需求,分析了企业搜索引擎开发的必要性及可行性,经过调查,最终决定以Lucene这一小巧、高效、自由、开源的软件项目为核心,综合运用其他诸如文本提取、数据库等技术做二次开发,构建一个企业搜索引擎系统。 本文先从发展、原理、评价指标等方面对搜索引擎进行了总体上的介绍,接着较深入地研究了包括中文分词、索引、检索在内的搜索引擎核心技术,重点剖析了Lucene的系统结构和分析、索引、检索原理,同时也研究了Ajax、DWR框架等用于搜索引擎系统的周围技术,最后以Lucene为核心,对中科院的ICTCLAS分词系统进行适当改造,使之能与Lucene配合使用,综合运用了PDFBox、POI、HtmlParser、Ajax、数据库、Hibernate等技术,成功构建了一个企业搜索引擎系统,实现了对pdf、word、HTML这些非结构化数据的全文检索。