全文检索技术—Lucene

1、全文检索
全文检索是一种将文件中所有文本与检索项匹配的文字资料检索方法。全文检索首先将要查询的目标文档中的词提取出来,组成索引,通过查询索引达到搜索目标文档的目的。这种先建立索引,再对索引进行搜索的过程就叫全文检索(Full-text Search)。
2、全文检索的应用领域
对于数据量大、数据结构不固定的数据可采用全文检索方式搜索,比如百度、Google等搜索引擎、论坛站内搜索、电商网站站内搜索等。
3、什么是Lucene
Lucene是apache下的一个开放源代码的全文检索引擎工具包。提供了完整的查询引擎和索引引擎,部分文本分析引擎。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能。
4、Lucene的目录结构

5、使用Lucene实现全文检索


5.1、创建索引
5.1.1、获得原始文档
原始文档:要查询的文件就是原始文档。
可以直接使用io流来读取。
5.1.2、创建文档对象
为每个原始文档创建一个对应的Document对象。文档中包含若干个filed。
每个文档中包含多个域,不同的文档可以包含不同的域。同一个文档中可以包含相同的域。每个文档对应一个唯一的ID。
5.1.3、分析文档
分析文档中的内容,分析相关域的内容。
(1)、根据控件进行分词
(2)、删除标点符号。
(3)、去除停用词(没有意义的词)。
(4)、把单词统一转换成小写。
(5)、最终得到一个关键词列表。语汇单元流。
5.1.4、创建索引
(1)、基于词汇列表创建索引。
(2)、把单词和文档的对应关系保存。
索引库中包含两部分:
(1)、索引
(2)、文档对象
(3)、索引和文档的对应关系
5.2、查询索引
5.2.1、用户查询接口
用户输入查询条件的地方。
5.2.2、创建查询对象
5.2.3、执行查询
5.2.4、渲染结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值