自建搜索引擎——30分钟lucene全文搜索入门

  1. 使用lucene实现全文搜索


1.1. 什么是lucene?

Lucene是apache下的一个开放源代码的全文检索引擎工具包,通过它可以实现全文检索。

1.2. 什么是全文检索?

将非结构化数据(如文本)中的一部分信息提取出来,重新组织,使其变得有一定结构,然后对此有一定结构的数据进行搜索,从而达到搜索相对较快的目的。这部分从非结构化数据中提取出的然后重新组织的信息,我们称之索引。而先建立好索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)

自建搜索引擎——30分钟lucene全文搜索入门

1.3. 中文分词器IKanalyzer简介

IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包从2006年12月推出1.0版开始,IKAnalyzer已经推出 了3个大版本。最初,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件。新版本的IKAnalyzer3.0则发展为 面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。

下面是测试分词器效果

自建搜索引擎——30分钟lucene全文搜索入门

自建搜索引擎——30分钟lucene全文搜索入门

添加IkAnalyzer配置文件,在扩展词典中加入"陈建",在停止词典中加入"的吧呢"

自建搜索引擎——30分钟lucene全文搜索入门

自建搜索引擎——30分钟lucene全文搜索入门

再次运行测试类发现,

自建搜索引擎——30分钟lucene全文搜索入门

1.4. 创建索引

自建搜索引擎——30分钟lucene全文搜索入门

下面的文本文件是通过爬虫爬取的原始网页信息,然后经过解析生成的文本文件。不了解的话大家可以查看《自建搜索引擎——开源爬虫框架Heritrix之初体验》

自建搜索引擎——30分钟lucene全文搜索入门

自建搜索引擎——30分钟lucene全文搜索入门

1.5. 查询索引

自建搜索引擎——30分钟lucene全文搜索入门

自建搜索引擎——30分钟lucene全文搜索入门

1.6. 创建搜索引擎

1) 创建web工程

自建搜索引擎——30分钟lucene全文搜索入门

2) 创建搜索业务控制器SearchController

自建搜索引擎——30分钟lucene全文搜索入门

3) 测试搜索引擎

自建搜索引擎——30分钟lucene全文搜索入门

可以发现我们自己 创建的搜索引擎已经可以正常使用了,是不是很开心?

自建搜索引擎——30分钟lucene全文搜索入门


分享到:


相關文章: