2.用大白话告诉你什么是Elasticsearch

什么是Elasticsearch???

简单且官方来说,分布式,高可用,可伸缩的搜索和分析系统

在明白Elasticsearch是什么之前,首先要明白

1.什么是搜索?
2.如果用数据库做搜索会怎么样?
3.什么是全文检索、倒排索引和Lucene?
4.什么是Elasticsearch?

1.什么是搜索?

提到搜索,首先想到的就是百度,这是提到搜索的第一印象,但是百度 != 搜索

还有什么是搜索?淘宝的站内搜索,OA软件中的搜索,招聘网站,新闻网站,各种app。搜索是什么,搜索就是在任何场景下,找到你想要找的信息,只要你输入关键字,返回的结果就是和这个关键字的相关的信息,这就是搜索。

2.如果用数据库做搜索会怎么样?

做软件开发的话,或者对IT、计算机有一定的了解的话,都知道,数据都是存储在数据库里面的,比如说电商网站的商品信息,招聘网站的职位信息,新闻网站的新闻信息,等等吧。所以说,很自然的一点,如果说从技术的角度去考虑,如何实现如说,电商网站内部的搜索功能的话,就可以考虑,去使用数据库去进行搜索。

image-20201120222418339

比方说,每条记录的指定字段的文本,可能会很长,比如说“商品描述”字段的长度,有长达数千个,甚至数万个字符,这个时候,每次都要对每条记录的所有文本进行扫描,来判断说,你包不包含我指定的这个关键词(比如说“牙膏”)

再者 还不能将搜索词拆分开来,尽可能去搜索更多的符合你的期望的结果,比如输入“生化机”,就搜索不出来“生化危机”

用数据库来实现搜索,是不太靠谱的。通常来说,性能会很差的

3.什么是全文检索和Lucene?

image-20201120223913468

Lucene又是什么?

lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们就用java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上的索引数据,进行搜索。

4.什么是Elasticsearch?

image-20201120230022596

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值