从Lucene到Elasticsearch:全文检索实战
上QQ阅读APP看书,第一时间看更新

3.1 需求分析

相信大家一定使用过百度文库、360文库等互联网产品,以百度文库为例,当我们需要查找一些参考文档时,会习惯性地打开浏览器,输入需求关键词“百度一下”,服务器就会返回一系列相关文档供我们阅读、下载。如图3-1所示,返回的文档格式有多种,常见的有Word文档(DOC、DOCX)、演示文稿(PPT、PPTX)、文本文件(TXT)、PDF文档(PDF)、表格(XLS)这几种,搜索结果还会把关键字高亮显示。

图3-1 百度文库搜索结果页面

假设现在有一批文档,文档格式有DOC、DOCX、PPT、PPTX、TXT、PDF这几种,现在要实现一个类似百度文库的文件检索系统。经分析,项目需求如下:

(1)能够对文件名进行检索。

(2)能够对文件内容进行检索。

(3)能够下载检索到的文件。

(4)能够实现关键字的高亮。

第2章介绍了Lucene开发的入门知识,本章通过文件检索这个小项目整合前面的基础知识。