00:00
好了,那么接下来啊,咱们就来看一看关于我们这个elect search啊,Elect。什么意思啊?啊。啊,就弹性的意思是吧,好像是弹性搜索对吧?那么这个东西到表表示什么含义呢?对吧?那么咱来看一看关于我们这个elect thirty啊,它的一个描述对吧?上午呢,同学们也分析了说elect search按照咱们这里的描述对吧?他要把我们现在呢,这个过滤油后的数据给保存起来,那么它呢,应该是一个数据库对吧?啊,那么这种描述的没问题啊,也就是说它有存储的功能啊,其实除了存储功能之外呢,那么其实在这里的最主要的是吧,它是一个什么呢?它是一个高度可伸缩的开源的全文搜索引擎。啊,什么叫全文搜索,什么叫全文搜索,比如说咱现在在这里同学们。
01:03
是吧,那么我现在呢,来到咱们这个京东是吧,来到京东,那么在这里呢,我想搜索是吧,是吧,想搜索什么东西,想搜索什么产品,那么是不是在咱们这里也可以搜啊对吧?那这个就是什么呀,这个其实就做的我们这个全文搜索啊,这个呢,其实就是做的我们这个全文搜索啊,那么对于我们现在全文搜索的话,大家想一想,诶,这个东西感觉有点有有点和谁比较像呢?是不是和咱的百度比较像啊,对吧,但是百度和谷歌同学们这是什么,它这是一个我们这样的一个网站,对吧,你说的是引擎呢,还不太合适,对吧,这是一个全文全搜索的网站,或者说咱们现在这是一个我们搜索网站啊搜网站,但是呢,我们现在说有可能我在我们这个项目里边,我在我当前的APP里边,我需要用到什么呀,全文搜索功能,那这个时候你不能说,诶把百度给挪过去,放咱们项目里边来是吧,你不能把谷歌挪过去放到我项目里来是吧,也是有的时候呀,这个我在维护一些我这个网站的时候,我可能用到什么呢?用到一些我类似于这里百度或者谷歌的功能。
02:03
对吧,那么这个时候呢,对吧,那我就可以使用我的全文检索对吧,那么search对吧,那其实呢是一个不错的选择,其实呢,Search它有一个竞品对吧,这个竞品呢叫sor。这个竞品呢,叫咱们这个solar对吧?那么我们现在呢,在这儿啊,前些年这个sor呢,其实用的比较多,包括咱们这Java这一块,对吧,也是这样对吧?包括咱们Java这块也是这样对吧?那现在呢,其实search是呢,对吧,有反超的一个趋势对吧?有反超的趋势对吧?那所以说呢,我们在这里把这个颜色呢给大家介绍一下啊,那么第一个啊,他说的是全文搜索引擎,那第二个它可以干什么呢?它可以让你快速的实时的来存储打开这里面是不是有功能啊,这功能干什么的,可以存储对吧?然后第二个搜索,第三个分析,然后接下来大量的数据,也就是说我们现在这个search,它不仅仅是一个数据库,存储呢,只是它其中的一个功能。
03:02
对吧,也不仅仅是一个我们现在搜索引擎,因为我除了搜索之外,我是不还可以存储,我是不是还可以分析呀,对吧,所以说呢,那么这个东西它描述的话是一个权威搜索引擎,对吧,这没问题,对吧,但其实呢,你说A是个什么,它这个数据库,这也没问题。对吧,这也没事,对吧?然后呢,接下来那么咱们现在呢,他要想去实现我们这个权威检索的话,对吧?那么这块儿呢,那你肯定得先把数据存起来对吧?那么这有数据库存储的功能,那么除了这个之外呢,还可以干什么,还可以进行分析啊,还可以对我数据啊来进行分析啊,那么一般情况下它呢,会作为我们这互联网应用的一个内部搜索引擎,就你现在做的一个项目对吧?这个的项目是你公司的什么什么系统,对吧?然后接下来在咱当前项目里边也有一个类似于我们这个百度或者谷歌的这样的一个搜索框,对吧?然后他对我当前我们这个网站它的数据来进行搜索,对吧?来进行搜索对吧?那么大家想一想啊,这个东西如果说你们去实现这个功能的话,比如说你们现在做了一个网站对吧,然后呢,这个网站,哎,我说我要去把咱们当前我们的网站里边用户对吧,包含我或者是为我写的文章里边包含什么什么什么的词的给我查出来,你们怎么去做。
04:17
啊,就假如让你们去写写一个这样的功能对吧,这是一个页面,然后这个页面呢,有一个文本框,文本框输完这个内容之后,后面有个按钮,这个按钮呢,就是点搜索对吧,然后进下来搜索的话,那么你们现在的要求把符合什么什么这个条件的,把这个搜索关键字的这些内容给我查出来啊,你们觉得这个东西怎么做。买就可以是吧,直接呢,Select星from,然后咱们表,然后接下来where,然后那个条件,然后接下来那么比如说我现在名字那就是where name,对吧,然后接下来like呗,蘑菇查询like它的,它是不是就可以查出来了呀,对吧,这是你们现在啊,你们想到的,但如果说我现在呢,这里面数量比较大。如果数据量比较大。那么你觉得这个东西用咱们现在买搜狗这种方式还合适吗?
05:04
是不是就不太合适了呀,对吧,还有一个同学们,就是我现在在咱们这里边,假如说对吧,假如说我去搜索谁呢?对吧,随便来一个对吧,比如说呃,随便啊随便大家看我现在呢,一搜索我们现在的什么FD,那么它这里是不是给我提供了很多咱们这个匹配的这个东西啊,什么房贷,什么FD抓包,什么FDA,什么fdg做这些东西是不是都有啊对吧,那假如说我现在呢,我在咱们京东网站里边,比如说我现在呢,来到我们的京东是吧,这个网站,然后我现在想搜造什么呢?我想搜索小米手机是吧,我现在呢,想做造小米手机是吧,小米手机,但是我手一抖,我不小心是吧,是是小木手机了。你看他给我提示同学们。他给我的提示,我我我搜的小木手机啊,但是你看那有台提示是不是小米,如果说你要是用like的话,你能干到这能做到这一点吗?如果要是那个的话,你是不是说诶,我从我现在这个手机名称里边来找,看一看这品牌是什么,咱们这个小米手机的,那你说我所有小米手机都查出来对吧,你不可能把这个小木手机给我匹配出来,对,就不可能你所有小木手机的时候,把小米给匹配出来,对吧?所以说有些时候呢,咱们好像用传统的这个技术啊,这个实现不了对吧?实现不了对吧?所以说呢,我需要用我们这个search,对吧,你感觉啊说这不就是一个搜索框嘛,他有什么技术含量在里边呢?第一个对吧,大家想一想,比如说啊,我现在在咱们这百度里边来搜索咱的Java,你们觉得咱们现在在我们这个当前网站上符合Java的它的一些项目有多少?
06:37
海量吧。是不是海量对吧,那你从海量里边怎么样把这些东西给我展示出来呢?对吧?那首先第一个花钱的肯定要先给你展示出来,对不对,这是竞价嘛,对吧,那第二个,那我现在这里边对吧,那应该有一个职位是吧,我没花钱我怎么样,我说假如说同学们对吧,如果如果如果说在座各位有能力的话,一说渣了,然后呢,发现这个东西你没花钱,是你们公司的网站,那你厉害了。
07:03
你的S又做的太太厉害了,对吧,就咱们现在这个东西,如果没进价的情况下,你看一看,你看现在咱们这这这这些东西,这排在前面的,排在前面的,排在前面的是不是都是广告啊对吧,这竞价排名对吧,那如果说我现在呢,要是不竞价的话,就这这这就很厉害,其实这个网站很厉害。是吧,就咱这菜鸟教程这个东西其实就很厉害是吧,你一般在搜的时候,你发现基本上它的内容都能在咱们第一页能展示出来。啊,那么怎么样快速给返回回来呢?你想我们现在百度大概的一搜索的原理是什么对吧?搜索原理是什么对吧?那么它得干什么呀,他肯定有他的爬虫机器人啊,专门去什么呢?专门去咱们互联网上去爬我们的网页,早就把你现在只要是诶我发布到咱们网网这个我发布的一个我们的网站,然后呢,他会专门的一个机器人把你的网站给它输入起来啊输入到咱们的百度上去,对,然后接下来,那比如说我当前呢,在咱们网站上有什么呢?有我们这个上硅谷对吧,比如说诶有我们这个上硅谷的关键字对吧?哎,那么有上硅谷关键字,那么你现在呢,在咱们的一点,那你是不是应该马上给我定位到啊对吧,那你想在咱们整个我现在互联网上这个这这个网页里边包含上回谷的,这这这东西太多了呀。
08:21
对吧,那他怎么样快速把这能给我达到呢?怎么样快速的给我查询出来呢?你看它的响应速度其实还可以,同学们我一搜是吧,你看在这里马上给我响应回来对吧?在咱这里马上给我响应回来对吧,那它的速度其实可以的,如果说咱们现在要是简单的去设计的话啊,说你就是买思就行,对你直接去查找对吧,咱现在到这个包含上回谷的,那你想一想,你肯定不会做到这么快的响应。是不可能会这么快的下降。啊,那么这个呢,其实就是我们现在它的一个搜索引擎,它的技术,那么底层到底怎么实现的呢?对吧,底层到底怎么实现的?那么这块呢,注意看它的里边是一个基于lossn的搜索服务器,对吧?那这里边咱们又来了一个概念,叫什么呢?叫lossns,我是不是也不太知道它是干啥的呀,对吧,那这里我现在呢,不明白这个地方了啊,Loss这是一个,对吧,这基于它的,然后另外一个呢,它提供了一个分布式多用户能力的一个全文搜索引擎,对吧?那这块呢,还好理解,还有一个什么呢?基于red for,它的一个接口,对吧?那么这个red for呢,我也不太了解,对吧,前两天给大家介这个,这个介绍过一嘴,对吧?但这块呢,我一会也要好好介绍一下,对吧,就是说我现在呢,第一个是基的搜索服务器,然后第二个呢,它基于我们的润phone这样的一个接口,或者说风格对吧,然后接下来它本身是由扎入源写的,那并且呢,作为我们这个阿帕奇许可条件下的一个什么开源代码,对吧,这个东西你就可以理解对吧,开源。
09:48
啊,就咱现在一扎写的,然后呢,开源啊,那我现在把这个基本的东西介绍完之后呢,那么大家呢,那首先对我们这个来search呀,那应该对这个有一个简单直观的印象,可以怎么理解呢?就是咱们现在在你的网站里边嵌套了百度或者谷歌进去。
10:09
啊,就我现在想在我的网站里边,对吧,就实现了一个类似于谷歌或者百度这样的功能进去,对吧,只不过你不能把百度谷歌给拿过去对吧,你像呃,有同学问我对吧,说老师你看我们现在这里边在学习的时候,阿帕奇的东西很多对不对,然后呢,大家发没发现啊,就是我们现在在学习的时候,阿里的一些开源的组件是不是也比较多的呀?对吧,你像咱们阿里边对吧,什么这个fast d呀对吧,什么fast DFS呀,对吧?诶那么本身这阿里的东西呢,其实开源也很多对吧?好像相比较起来,你们知道百度的开源一串算一个。还有别的吗?相比较起来是不是就稍微少一点了,对吧,那你说我现在如果要是对这个开源的话,第一个啊第一个对吧,那么这个这这个你想一下百度产品,比如说我现在给你开开源,开源什么呢?百度网盘给你开了不太合适是吧,因为你是这个不得靠这个首VIP啊对不对,对吧,那在什么呢,百度地图。
11:09
百度地图其实它有这个什么接口给你,对你可以去调对吧的接口,那无人驾驶好像你现在对吧,还还还那个离离着它还稍微远一点,而且还不太成熟,你们现在打那个无人驾驶出租车了吗。不说现在这个已经开始无人驾驶出租车已经上路了吗?他上路了,我也不敢,你不敢做是不是你可以尝试一下,其实既然敢上路的话,那我觉得应该比你自个儿开车要方要安全一点,我觉得可以尝试一下吧,可以尝试一下对吧?好了,那么咱们现在呢,在咱们这里啊注意对吧,那我现在呢,第一个也先有一个直观的理解,然后第二个呢,咱们现在这里边这两个概念,我后面给大家说,那第二个呢,咱现在来看一看,说老师一般我什么时候去使用它对吧?那第一个咱们就说了,在你的我们的网站里边,尤其是一些我们电商网站对吧,那么他呢要搜索商品对吧,就比如说我们刚才看到的京东对吧,在京东那这里边呢,要搜索商品,那么这个呢,它需要有一个搜索引擎对吧,那么咱们呢,就可以用使用elect search来存储我们这个商品相关的东西,那并且呢,来进行搜索,这个其实就是我们所说的全文检索啊,这个其实就是我们所说的全文检索,一般在电商网站里面肯定有这个啊,肯定有这个对吧,你要想做商品,那肯定也给提供这样的功能,对吧,而且啊。
12:29
你看的这商品同学们肯定不像你想象的这样说老师这一个挂框,一个搜索,我的肯定买搜口对吧,然后直接带星,然后加条件,这个就是我条件不是这样的对吧?不是这样的对吧?呃,然后第二个呢,还有什么呢?还有一个elect,这样它可以作为我们这个日志系统对吧?来对我数日志数据呢,来进行我们这个收集,然后分析对吧?那么这块那不是我们al search啊,他自己做的事了,对吧?那么就是我们的elp一般组合来做的事,对吧?那么什么呢?使用我们这个lockx locktech,然后把数据呢给收集过来,然后存储到我们这个al search里边去,然后接下来,然后呢,用咱们这K班来进行一个我们的展示,对吧,来进行展示,但是这种情况呢,其实呢,太有局限性了,就他们三个对吧,就他们三个,但是我们一般这个数据来源是不可能对吧,比较丰富啊,有可能是我们磁盘,有可能是我们这个外部站点对吧,有可能是卡不卡对吧,所以说呢,一般我们现在在做的时候呢,我还是对吧,我自。
13:29
己对吧,对我们这个数据进行采集,采集之后呢,来放到我们这个来search里来,对吧,然后还有一个什么呢,就是我的价格提醒的一个平台对吧,那么这个呢,就相当于我们这样,它里面有功能什么呢?就是比如说我现在存储在我的那个当前库里边对吧,那么有一些价钱对吧,但如果说我现在呢,这个价钱发生变化了,那我可以给我们现在呢,它的供应商对吧,来去发送一些我们的消息对吧,就是比如说我现在要从我们现在的一些我们这个网站上,比如说现在从我们这个阿里对吧,它的一个我们这网站上去订货啊订货对订货的话发现,哎呀,我作为一个这个小企业主来讲,对吧,那我在订货的时候呢,发现目前呢,它这个价钱还稍微有点高,那你可以设立一个,诶我现在理想的一个价钱,或者说我对价钱呢做一个监控,对吧,那么如果说诶它发生变化的话,那么这时候呢,他给你发送提醒对吧,那像这块呢,这个其实可以通过别的很多功能来实现啊,对吧,可以通过这个。
14:29
来实现啊吧,然后接着还有什么呢?还有一个就是我们这分析了是吧?那么这个分析呢,注意,那么它呢,其实就是相当于我们的o rap对吧,这样的功能,你把数据存到我elect search里边,然后呢,那我可以通过我们现在他给我提供的一些我们的功能,对吧?那么对我们现在的这个数据来进行我的分析,那么还有一个好处是什么呢?就是我现在分析完之后呢,那它可以进行一个我们的可视化,对吧?其实大家想一想,大数据它主要解决的数据的存储对吧?分析还有一个是我们这个计算对吧?那么咱们现在计算呢,其实是SPA streaming,那么你数据处理完之后,你想想最终他想干什么呀?不就是展示出来吗?
15:11
对吧,我现在数据处理完之后,我是不是得给你展示啊,对吧,那么要不然呢,是你们公司对吧?哎,我需要这个有前端,那么这个时候你去发布接口对吧?发布接口前端同学接口呢拿数据对吧,要不然呢,对吧,你们公司如果说啊,这个对咱界面要求啊,这个不那么高的话,对吧,大部分省事的诶我可以怎么办?对吧,我直接我用来search分析完了之后,他直接用可就可以展示出来了。啊,就可以展示出来了。好了,这是关于我们现在的这几个功能对吧?这几个功能对吧?常用的啊,常用的,然后接下来那么elect search呢,它作为我们现在的一个数据库对吧?如果说你要把它当做数据库来比较的话,那么和我们现在听过的一些数据库他们之间比较对吧?那么从我们这个不同的维度来看一看,对吧,它们之间的它的一些我们这个区别对吧?那么首先呢,这个red也是个数据库吧,只不过呢是内存的呗,对吧,然后买circle对吧,Elect search以及呢,我们这个a base,而且那天在这看我们这数据库排名的时候,像咱们这个have是不是它其实也可用数据库里边来啊,对吧?那首先第一个从容量来讲,这个RA,因为基内存那这个最低,对吧,然后呢,像我们的h base,还有咱的have对吧,那像这个呢,都是海量数据的。
16:28
对吧,这个可存海量数据,然后my circle呢,对这个存储的容量呢,一般,然后search呢较大,然后查询的一个这个性能,那你想如果要用我们的al和red比的话,它比不过red。因为ready就在内存嘛,对吧,所以说呢,咱们现在差询时效性,这ready对吧,很高对吧,这ready很高,然后接械呢,MYSQL的吧,中规中矩,然后它呢是比较高吧,中等偏上,然后这个it base呢,也是对,和我们这个ready比,它肯定不是red,对吧,但是呢也是对比较不错的对吧,也是比较不错的,然后这块呢,如果要是从我们这个还有里边查询的话,它其实效率比较低了。
17:07
对吧,因为你想一想,如果从还有查的话,其实这文件在这个数据在哪了呀,是不是在咱们HDS上面的,对吧?查询文件了,然后查询灵活性的话,那么这块呢,大家看,那如果要是查询灵活性的话,那么这块呢,呃,第一个啊,第一个咱们现在的ready ready是不是就是以KV的形式存储的呀,对吧,那你在查的时候,那其实就这两种形式,对吧,你说什么做什么连接呀,什么这种东西他做不到对吧,所以说呢,这个灵活性上来讲,对吧,如果简单的话,这个简单,但灵活性呢,肯定不够灵活,对吧?然后接下来,那么如果说我现在呢,要是我们这个MYSQ的话,那么它对其实呢,对,这是灵活性非常好的。对吧,但前提是什么?前提是对吧,你们得有一定的一个circle的一个功底,因为我如果搜写熟练的话,其实在做一些统计的时候,对吧,其实还是比较容易的嘛,是吧,还是比较容易的,对吧?那么如果说你circle感觉比较显来灵活,那么这时候咱们这块呢,那它的灵活性那应该也不错。
18:04
因为咱们这个have里面是不是可以写HQL对吧,可以写HQL对吧,所以说呢,它俩查询灵活性倒比较不错,对吧?然后接下来那么咱们现在elect search它呢是较好啊比较好,那如果说要是it base的话呢,那么这块呢也是一般对,因为大家想一想,你们现在就算是会我们这个circle了,然后你们有写过很长时间的HL对吧,但是你们在写h base的时候,让你去写h base语法对吧,先不说别的h base怎么去创建一个表。怎么来创建表来这么辉?来,刘丹,反正你看着办吧,你要什么话找你,我就得把刘丹给牵牵扯一下,对吧?这叫连累是不是?
19:00
刘丹,来吧。这是他帮你连累的,你下课你可以找他来充钱。A,怎么创建表?哎,这辈子表怎么创建张宝瑞啊,OK啊,隔离table表名列族,那在这个创建的时候是不是得加上什么双引号什么的东西啊对吧,注意啊,得再加单引号对吧?那这个得需要注意一下对吧?大家没事的时候呢,先把e base呢,先看着对吧,先看着对吧,大家想啊,那为什么说他较差呢?对吧,你们记不住吗?是不是,所以说他这个呢,其实对吧,这个语法对吧,这个要是和so比较起来啊,和so比较起来,那么这块呢,其实不如我们这so会灵活啊吧,其实不如S会灵活对吧?然后还有一个什么呢?写入速度对吧,写入速度呢,那肯定是red最牛对吧?然后像咱们这个往文件上写,那么这个呢,要稍微差一点对吧?但如果要是往这个结构化的这些东西里边写的,那还是不错的,对吧,那么剩下如果要事物的话,那事五现在目前就是谁呀,就是咱买色孔对吧,大家发现啊,其实在咱们整个我们现在的比较里边,我这个S它不算是就是在。
20:27
某一个方面都不算是最好的,但是在某一个方面它也不算最差的,就属于什么,属于咱们这个中规中矩的一个东西,对吧,所以说那像咱们这个昨昨天的吧,就前天有上班的就准备找工作的学生正在问的说诶老师,那你说我现在这公司,我到底用electa这样,还是用我们的clean house对吧,那这个东西呢,对吧,没有什么太大的一个对吧,选择就是我现在这个东西,如果选这个elect search的话,它就属于什么中规中矩的这种对吧,你像我现在这边呢,你说我如果要是基于我现在啊,我在咱们这个去,我我针对我当年的项目,我当年项目呢,就是什么呀,就是查询多对吧,数据量不大,那你那你肯定得想我查询快就行呗,对吧,如果说我现在呢,我这里边我就要存海量数据对吧,那我这个东西你是不是得考虑你的存储容量啊,对吧,我现在就考虑什么呢,我的灵活性对我操作起来灵活对吧,就什么时效啊,什么这种无所谓容量呢也不是问题,那你是不是就可以考虑去使用我们这就这种。
21:27
或者这种啊,对吧,哎,所以说呢,根据你的一个实际情况来进行选择,对吧?好,这是关于我们现在elect测试呢,它的一个简单介绍啊。
我来说两句