Lucene
来源:互联网 发布:openjdk8源码下载 编辑:程序博客网 时间:2024/06/07 11:42
Lucene
1.什么是lucene
1.1数据的分类 :
(1)结构化数据:
有固定类型或固定长度的数据
例如:数据库中的数据(Mysql,Oracle等),元数据(windows中的数据,如文件夹,文档都有明确 规定的类型和大小)
搜索方法:
数据库中的数据通过sqk语句来搜索
元数据(windows中的数据)通过搜索栏来搜索
(2)非结构化数据:
没有固定类型和固定长度的数据,自然界大多数都是非结构化数据
例如:world文档中的内容,无法限制长度和类型;邮件中的数据(可以写文字,插入图片等 )
搜索方法:
World文档使用Ctril+F来进行搜索。Ctril+F使用的是顺序扫描法。
顺序扫描法:
.定义:
就是将要搜索的关键字在文档中逐字匹配,直到找到和关键字一致的内容为止。
.优缺点:
优点:如果文档中存在所要寻找的关键则一定会找到 想要的内容。
缺点:效率慢。
全文检索算法(倒排索引算法):
该算法就相当于曾经的新华字典,有内容还有目录可以通过目录快速的找到所需要的内容。而顺序扫描法就相当于没有目录的字典,只能从正文中一页一页的寻找。
定义:
将文件中的内容提取出来,将文件拆分成一个一个的词(分词),并去除掉重复的内容,将这些词组成索引(相当于字典中的目录),搜索的时候先搜索索引,通过索引找文档。
优缺点:
优点:搜索速度快且准确
缺点: 通过空间换时间,空间占用率高,因为创建的索引占用了磁盘空间
1.2.什么是Lucene:
Lucene是apache旗下的顶级项目,是一个全文检索工具包(其实就是一个jar包,不能够独立运行)。
Lucene是一个可以创建全文检索引擎系统的一堆jar包,可以使用它来构建全文检索引擎系统,但是Lucene不能够独立使用,但其构建的全文检索引擎系统能够独立使用。
全文检索引擎系统:
全文检索引擎系统是由Lucene(一堆jar包)构成的,全文检索引擎系统放在apache下可以独立运行, 并对外提供全文检索服务。
注意:
Lucene是一堆jar包,不能独立运行,而全文检索引擎系统是由Lucene构成的,其可以在Apache下独立运行。
2.Lucene的应用领域:
(1)互联网全文检索引擎
eg.百度,谷歌
(2)站内全文搜索引擎
eg.京东,淘宝的站内搜索功能
(3)数据库中的like关键字用的是顺序扫描法 ,效率太慢,所以可以用Lucene优化查询。
阅读全文
0 0
- lucene
- Lucene
- lucene
- lucene
- Lucene
- lucene
- lucene
- lucene
- Lucene
- Lucene
- lucene
- Lucene
- Lucene
- Lucene
- lucene
- lucene
- Lucene
- Lucene
- RabbitMQ 网页端控制台开启方式
- iOS后台如何保持socket长连接和数据传输
- Centos安装Hadoop出错
- [Oracle 11g r2(11.2.0.4.0)]案例分析6-丢失磁盘心跳导致的集群重新配置
- 1.选题及计划,3天学会python
- Lucene
- 几款常用的Git 图形化工具
- 二分查找时间复杂度分析
- iOS修改textField的placeholder的字体颜色
- QT整理之HelloWorld测试例子
- 多表查询
- Machine Learning part2---pandas操作
- 学习与oi之间需要一个平衡
- 用数学思维实现雷达分析图