使用lucene实现全文搜索
1.1. 什么是lucene?
Lucene是apache下的一个开放源代码的全文检索引擎工具包,通过它可以实现全文检索。
1.2. 什么是全文检索?
将非结构化数据(如文本)中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。而先建立好索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)
1.3. 中文分词器IKanalyzer简介
IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。
下面是测试分词器效果
添加IkAnalyzer配置文件,在扩展词典中加入"陈建",在停止词典中加入"的吧呢"
再次运行测试类发现,
1.4. 创建索引
下面的文本文件是通过爬虫爬取的原始网页信息,然后经过解析生成的文本文件。不了解的话大家可以查看《自建搜索引擎——开源爬虫框架Heritrix之初体验》
1.5. 查询索引
1.6. 创建搜索引擎
1) 创建web工程
2) 创建搜索业务控制器SearchController
3) 测试搜索引擎
可以发现我们自己 创建的搜索引擎已经可以正常使用了,是不是很开心?
閱讀更多 HelloTeacher陳 的文章