最近在网上找视频学习了Lucene的相关知识,根据视频内容以及其他资料简单总结下Lucene的相关知识点。
Lucene是apache软件基金会的一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。
一、全文检索的定义
全文检索首先对要搜索的文档进行分词,然后形成索引,通过查询索引来查询文档。通俗点理解就是先创建索引,然后根据索引来搜索的全过程叫做全文检索。
生活中的字典就是一个很好的全文检索的例子:字典的偏旁部首页,就类似于Lucene的索引。而字典的具体内容就类似于Lucene的文档内容。
二、Lucene全文检索的流程
从图中可以看出来,全文检索主要分为两大块:索引流程和搜索流程。
索引流程:采集数据-->文档处理-->存储到索引库中
搜索流程:输入查询条件-->通过lucene的查询器查询索引-->从索引库中取出结果-->视图渲染
在这里对几个概念的词汇进行说明:
1、采集数据:全文检索搜索的内容的格式有多种,比如:视频、mp3、图片、文档,需要先将它们采集到本地,