为什么要学习Lucene

现在Lucene在互联网行业的用的非常广泛,尤其是大数据时代的今天,那么根据自己的理解给大家简单的介绍一下为什么要学习Lucene。
1.对比一下Lucene的检索方式相比以前的检索方式有哪些优点

原来的方式实现搜索功能,我们的搜索流程如下图:
这里写图片描述

上图就是原始搜索引擎技术,如果用户比较少而且数据库的数据量比较小,那么这种方式实现搜索功能在企业中是比较常见的。但是数据量过多时,数据库的压力就会变得很大,查询速度会变得非常慢。我们需要使用更好的解决方案来分担数据库的压力。

现在的方案(使用Lucene),如下图:
这里写图片描述

为了解决数据库压力和速度的问题,我们的数据库就变成了索引库,我们使用Lucene的API的来操作服务器上的索引库。这样完全和数据库进行了隔离。
2.数据查询方法

  1. 顺序扫描法

所谓顺序扫描,例如要找内容包含一个字符串的文件,就是一个文档一个文档的看,对于每一个文档,从头看到尾,如果此文档包含此字符串,则此文档为我们要找的文件,接着看下一个文件,直到扫描完所有的文件。
这种方法是顺序扫描方法,数据量大就搜索慢。

  1. 倒叙索引

先举一个栗子:

例如我们使用新华字典查询汉字,新华字典有偏旁部首的目录(索引),我们查字首先查这个目录,找到这个目录中对应的偏旁部首,就可以通过这个目录中的偏旁部首找到这个字所在的位置(文档)。

现在有两篇文档:
Doc1: When in Rome, do as the Romans do.
Doc2: When do you come back from Rome?

Lucene会对以上两篇文档建立倒排索引
索引结构如下图:

这里写图片描述
(doc:表示文档 freq:表示出现的次数 pos:表示在文档出现的位置)

1、 提取资源中关键信息, 建立索引 (目录)
2、 搜索时,根据关键字(目录),找到资源的位置

3应用场景 :

1、 单机软件的搜索(word中的搜索)
2、 站内搜索 (baidu贴吧、论坛、 京东、 taobao)
3、 垂直领域的搜索 (818工作网) 
4、 专业搜索引擎公司 (google、baidu)
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值