千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Lucene/ ElasticSearch这类的搜索引擎和SQL数据库里的查询/全文检索有什么区别?

Lucene/ ElasticSearch这类的搜索引擎和SQL数据库里的查询/全文检索有什么区别?

来源:千锋教育
发布人:xqq
时间: 2023-10-13 12:17:32 1697170652

一、Lucene/ ElasticSearch这类的搜索引擎和SQL数据库里的查询/全文检索的区别

es也可以理解成是一种数据库,不仅能提供全文检索功能,还可以支持各种数值类的区间查询,聚合计算等,这些和传统数据库一样,从使用场景来说,数据库一般用来存meta,比如网站用户,用户资源等等,这些数据有个特点就是量不会很大,还有就是这些数据一般都比较结构化。

es一般用来存一些流式数据,比如应用日志,这也是目前es应用最广的方面,这些数据有个特点就是往往结构不固定,比如应用日志,不同的程序员写得模块打出来的日志字段数量都不一样,这种数据就不太方便用数据库来处理。

最后,一般传统数据库,全文检索都实现的很鸡肋,因为一般也没人用数据库存文本字段。

上面从使用场景上说明了两者的区别,从技术上两者全文检索的实现都差不多,无非是倒排索引,但是lucene毕竟是专业的,做了十几年了,索引效率,存储空间等都比传统数据库快很多,技术也迭代的非常快。

延伸阅读:

二、 Lucene是什么

Lucene是Apache基金会jakarta项目组的一个子项目;Lucene是一个开放源码的全文检索引擎工具包,提供了完整的查询引擎和索引引擎,部分语种文本分析引擎;Lucene并不是一个完整的全文检索引擎,仅提供了全文检索引擎架构,但仍可以作为一个工具包结合各类插件为项目提供部分高性能的全文检索功能;现在常用的ElasticSearch、Solr等全文搜索引擎均是基于Lucene实现的。

索引的生成分为两个部分:

1)创建阶段:

添加文档阶段,通过IndexWriter调用addDocument方法生成正向索引文件;文档添加后,通过flush或merge操作生成倒排索引文件。

2) 搜索阶段:

用户通过查询语句向Lucene发送查询请求;通过IndexSearch下的IndexReader读取索引库内容,获取文档索引;得到搜索结果后,基于搜索算法对结果进行排序后返回。
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT
PC端网站,手机版网站,APP,三者可以实现共用同一数据库,能同步更新吗?

一、PC端网站,手机版网站,APP,三者可以实现共用同一数据库同步更新一般网站实现pc端与移动端适配的需求,方案有两个:1、一套页面,从设计时...详情>>

2023-10-13 14:10:53
怎么看待oracle的exadata与share nothing系列的hadoop等,以及优缺点相互对比、各自的前途对未来的影?

一、怎么看待oracle的exadata与share nothing系列的hadoop等exadata的架构我也仔细思考过很久,个人愚见,exadata引进了部分MPP思想,当并非MPP...详情>>

2023-10-13 13:58:16
MySQL数据库char类型的长度是什么意思?

一、MySQL数据库char类型的长度是什么意思MySQL数据库char类型的长度是指该字段所占用的字节数。char数据类型是MySQL中固定长度的字符类型。 我...详情>>

2023-10-13 13:51:32
“数据库”领域里面的“数据字典”到底是什么?

一、“数据库”领域里面的“数据字典”到底是什么数据字典是一个存放有数据库所用的有关信息,在数据库设计的初期将数据库中的各类数据的描述集...详情>>

2023-10-13 13:49:07
微博feed系统的推模式和拉模式的架构是怎样的?

一、微博feed系统的推模式架构1、发布服务负责生成用户的消息,将消息推送到数据发布中心。2、推送服务在接收到新消息后,根据消息的类型和内容...详情>>

2023-10-13 13:28:55
快速通道