00:00
我们今天这个直播就正式开始啊,首先的话,我会给大家发送一个啊课件。那这个就是这个这个课件的话,就是今天啊,今天这个线上分享,今天这个workshop。全部的呃,操作的一个流程啊,大家可以通过这个操作流程啊,就是把我今天要讲的东西啊,啊,都可以实际的在你的这个实验环境里面去操作一遍。所以说大家第一步啊,第一步今天参加这个线上分享的朋友啊,第一步的话,请你在浏览器里面打开这个网址啊,把它全部都啊,全部都正常的打开啊,这个网页的话是放在了一个,嗯,放在了github那个github配S里面,可能会稍微有点慢啊,这个网页会比较长。所以第一步的话,大家就先打开这个。
01:00
先打开这个网啊,这个网页啊,打开这个网页的话,我们这个课程就要即将开始啊,在即将开始之前的话,我们先啊说一下我们今天这个实验环境的一个准备。这个实验环境的话,我们今天的话,呃,为了简单起见啊,我们不会要求大家在腾讯云里面创建这个ES的集群啊,啊,虽然咱们这个腾讯云里面有这个ES的集群啊,我们今天为了简单起见的话,我们。所有的操作的话都会在啊一台虚拟机里面完成啊,一台什么样的虚拟机呢?我这边开了一台啊,稍微配置好一点的虚拟机吧,两核8GB的虚拟机啊,三头S的系统啊,如果说你也有这么一台虚拟机啊,上面是一个比较干净的系统的话,你就可以立旧啊,直接使用这个虚拟机,如果你是本地的啊操作环境啊,如果你是本地的操作环境,呃,请起码至少的话启动一个4GB内存的虚拟机。
02:07
啊,2VCPU4GB的内存的虚拟机,然后确保你这个虚拟机的话,是可以正常的连接公网的,那因为的话,我们这个实战的过程当中的话,会安装很多这个软件包。那确保的话,你这个呃,虚拟机是可以正常连接公网的,速度越快越好,那这边的话我就开启了这一台虚拟机啊,这台虚拟机的话啊,有必要的话,你可以可以关注一下你的这个呃,内网和外网啊,内网和外网的这个IP地址,假如说你是用的是一个云主机的话,你还需要关注一下你现在这台虚拟机的一个呃,一个安全组的防火墙啊,因为我们会呃通过外部去连接这台虚拟机需要有一些。啊,端口是可以正常啊,正常访问的啊,这些端口的话,包括至少啊3002TCP的3002端口,然后五六呃5601端口,K巴纳的5601端口,如果说你。
03:14
如果说你这个希望的话,9200ES的端口也可以去啊,也可以去开放,但是你云主机的话,你3002和5601就够了,K巴纳和。我们enterprise search的这两个端口打开就够了,所以这个就是我们今天的所有的一个需求啊,很简单,就是需要有一个啊,需要有一台虚拟机,至少4GB内存的云主机,4G内4GB内存也可以,假如你是云主机的话,我劝你还是最好新建一台啊,新建一台三诺S8的虚拟机,呃,这样的话可能会更加干净啊,你这个操作起来更加啊容易一些。呃,好了,我们今天这个准备的活动的话就到这里啊,我们今天的话会有两波抽奖啊,会有两波抽奖,这个抽奖在什么时间进行呢?可能这个抽奖的话稍微,呃。
04:13
稍微这个在过程当中啊,在过程当中吧,就是希望大家不要走开啊,不要错过了我的抽奖啊,我两波抽奖,一波抽奖的话会抽会送出这个五张啊,腾讯视频的月卡啊,腾讯视频的月卡啊,第二波抽奖的话会送出五件。啊,纪念版的T恤衫啊,纪念版的T恤衫。呃,这个视频不太正,一直在转啊呃,大家看看一下你的直播视频,如果说是正常的话,请在这个聊天窗口里面输一啊,这样的话啊,我还可以继续啊呃,确认一下我们现在的这个互动是啊,起码是正常的啊,如果说我现在的话音都正常的话,请在聊天里面一。
05:09
好了,我们就继续今天的这个啊,继续今天这个直播啊,我们的直播的话会啊,会以一种实战操作演练的方式进行啊,我们会。将elastic search啊,Elastic enterprise search整个啊走一遍啊,这也是我这个三大解决方案当中的啊,我之前的话做过,呃,可观测性的做个安全的,那这个的话也是我做过的啊,第三个啊工作坊啊,这是第三个工作坊做完的话,我相信大家就可以对我们这个。啊对,我们这个整个通过呃,通过elastic sta啊如何去啊实现呃三个解决方案,就会有比较实战的一个经验啊好了,我们话不多说,我们先讲一下什么是这个elastic enterprise奢侈啊,什么是elastic企业搜索,那elastic企业搜索的话啊,其实是基于啊elastic stack这个。
06:12
基于elastic sta这个技术站,就elas公司啊,为了更方便你去做这个应用搜索,业务搜索和文档搜索,为了你更方便的做这三件事情,那elastic公司的话,基于elastic stack这个技术站啊,在这个sta这个技术站之上的话啊,为你做了很多开箱机用的功能,那这些功能的话都是为了降低你去在你的企业环境当中做业务搜索和做工作内容搜索的门槛,那降低你实现这些搜索的门槛,那你可能会有哪些搜索呢?我们认为的话,企业搜索里面包含三类搜索啊,三类搜索这三类搜索分别是啊,分别是这个。
07:04
呃,首先第一的话,其实就是业务搜索,那业务搜索的话,我们又把它,我们把它广泛的,呃,称之为业务搜索的话,是实际上是因为。我们现其实现在是在一个社交网络当中啊,很多的。业务的话都是通过呃呃APP啊去和用户互动,我们可以想一下啊,你这个公司开发的这些业务系统啊,这些APP的系统那有多少个啊APP那用户去跟他互动的时候,上来就是要做搜索操作的,这搜索操作包括基于关键字的,基于产品分类的啊,基于内容的,或者说是你可能直接就是让用户输入一些信息,然后去为他做搜索的。啊,我们这些搜索的话,其实很多都是,呃,非常非常显而易见的,比如说你要去打车的时候。
08:02
啊,你要去打车的时候,你用打车软件去搜索你附近的出租车,那实际上是基于位置的一种搜索,比如说你要订餐的时候啊,你订餐的时候你先选择的是你要吃西餐,中餐火锅还是快餐,那这个分类里面基于你现在的这个选择的话,又给你有多少种推荐,那这个就是产品目录的搜索,那产品目录搜索完了之后,他又会根据地域给你搜索推荐的一个,你要搜索的一个啊餐厅的产品的啊,产品的一个菜单,那还有就是类似于比如说很多公司的话,都有你内网或外网给客户使用的这个。呃,帮助门户,那帮助门户里面的话,其实也是让用户一开始进去就搜索一些关键字,然后寻找到他想找的解决方案,然后最终的话,他实现他一个问题的解决,所以刚才我说的这几个例子其实都是啊业务搜索的范围。
09:05
都是在你业务搜索的范围之内,那我们很多的业务搜索的构建的话都是。目前来看啊,我们更多的是很多开发的工程师,基于elastic search本身,然后利用它的分词技术,然后利用它的很多的呃,很多的一个呃排序很多的一个索引的一些方法,然后去在。呃,这个ES基于ES去。啊,以一个比较高的一个门槛去构建我们的这个搜索引擎。然后支持到你这个业务的搜索的能力,那这个是一个比较比较高阶的一个,呃呃,搜索功能的一个构建的一个方法,那有没有更简单的方法呢?能不能降低我们这个构建搜索功能的这个呃难度呢?那实际上是有的,因此的话,我们就呃推出了这个叫elastic APP search的这样一个组件,或者说这个功能,那这个功能的话就是让你。
10:14
一个最不了解ES搜索引擎的这种角色啊,以一种这个最低的一种对搜索引擎认知的一个起点而去打造你的。搜索引擎功能的,那所以说这个就是一个很好的一个利器啊,可能的话,刚才我们说的那些复杂的搜索场景是你必会的,但是很有可能在你的这个企业当中的话,你的大量的应用系统都需要搜索功能,那很多搜索功能的话,又不需要特别定制化的。又不需要特别精细化的搜索,那很有可能的话,某一类。这个业务搜索功能的话,用我们这个elas APP search这个组件去实现,那它就非常合适,它就具有更高的性价比,那你只投入了几个小时啊,可能你就把这个搜索功能写好了,你就上线了,这不是很香吗?所以说你不一定需要从理解啊,索引本身理解分词啊,理解这个。
11:23
搜索的这个排序,然后啊,等等等等这些复杂的搜索技术开始去构建你这个搜索功能,那你的APP search的话,就是你一个很好的构建搜索功能的利器啊,这个就是今天我们搜索这个工作坊的一个核心啊,那之所以是核心的话,是因为它的使用范围,使用场景就是太广了,那另外的话,我们再讲另外两个搜搜索的场景,另外两个搜索场景也很重要,但并不是我们今天这个工作坊中啊要去做的内容啊,那这个。另外一个工使用场景的话就是work work,呃,Workplace search就是你的你的职场的内容的搜索,我们职场的话,可以广泛的认为你的公司的话,具有内网外网,SARS服务等等等等。
12:15
那你的工作的执行的话,是依赖强依赖这些平台去完成的,比如说很多呃,很多公司啊,它就有这个很多的这种代码的平台啊,项目管理的平台啊,可能都是用的confidence和鸡爪,我们在很多外企里面,很多的会用到像slack呀,会用到salesforce呀这些。这些啊,日常的聊天和SRM的一些工具啊,还有很多网盘,比如说我们会用到啊,Google drive呀,包括box呀,包括one drive呀,那我们的工作内容的话,都是存储在这个啊,这个到处都有的,那你可不可以根据一个项目的名称啊,根据一个关键字。
13:03
全局的把你这个工作场所里面,或者说工作环境当中的所有的文档啊,都可以一网打尽啊,并且让它呈现在你面前,并且让你一键式的打开这些文档,那这个workplace测试的话,就是也是这样一个开箱即用的组件,那我们今天这个工作坊中的,呃,讲解的话不会讲到这部分功能,但我们今天搭建的就只拿到系统啊,只是说不去体验这部分功能而已,我们今天整个这部分搭建的这个系统的话,是可以支持你进一步做workplace search研究的,那还有一个就是set search功能,Set search功能的话就是更显更显而易见了,就是网络的爬虫啊,比如说的话,我们企业内部的话,可能有大量的以前的这种啊,VK的这种网站。啊,客服的网站啊,知识库的网站啊,经过多年的这个呃建设,我们这些网站到处都是,那总有一天的话,你会认为那让用户记住,同时记住这么多网站,同时能分辨出他们的功能的话,那是非常难的,这是只是一个内网的一个事例啊,那你可能还会用到外网呢,是吗?
14:17
你可能会在外外网还有一些需要公布给用户,公布给第三三方合作伙伴的一些资料库,那这些网站的话如何去啊,对它像谷歌的搜索一样,如何对它进行做网络的爬虫,爬回来之后的话,如何对它动态的去做索引,如何以很好的界面呈现给用户,那这个就是set search,它需要完成的功能,这个最早之前的话是我们收购的一家公司叫swi Swift type,这个公司的产品和技术,那基本上的话,Swift type现在还提供SARS的服务啊,现在基本上也慢慢的要迁移到elastic cloud当中了,如果说你是在内网里做的话,我们也是通过enterprise search啊,这一个安装包就可以解决你这个三个搜索场景的,那因为的话EEL公司的话,它最早是做这个EL search啊,做搜索引擎的,而且我们又推出了这些workplace search啊,APP search啊,Set search这些。
15:17
功能,那因此的话,在2022021年度啊,就被干ner,它有个叫动建,呃引擎的魔力象限啊,动机引擎的话就是in inside engine,就是我们希望的话,就是你大量的资料库,大量的数据啊,你希望对它产生啊搜,你希望他给你产生价值的话,首先你要对他进行。啊,搜索排序分析之后它才有价值,那这样的话,戛那的话也看出企业有这样的一个需求啊,所以说做了这样一个魔力象限的排序啊,我们可以看见我们的这个,呃,Elastic search啊,Elastic还是榜上有名的,还是在这个challenge的这个象限里面,那其实这里面还有一些IBM呀,一些mind buzz呀这样一些。
16:09
大佬,包括谷歌呀,微软呀都在这里面,那所以说在我们这个产品出现以后的话,我们这些企业级的功能出现以后的话,我们也榜上有名了,那也就是说你想做这一部分企业啊,搜索啊,像动作动建搜索引擎这样一个功能的话,那我们相信的话,Elastic stack也是一个非常好的一个解决方案,那好了,我们再今天再讲一下我们这个解决方案到底是什么样的,那首先的话,它还是基于elastic search啊,刚才我说了elastic stack的核心的话就是elastic search。这基于以来这个测试来构建搜索引擎的功能啊,就是我们今天这个工作坊的一个主要的一个。主要的一个啊,主要的一个目标,那为什么要基于来个search呢?是因为你有as sta这个技术站呀,你才可以让这个信息啊搜索的可以更快啊,然后你这个搜索的数据量啊才可以更大,你可以的话,从少到多的去啊处理你的这个大数据的一个啊。
17:13
以后未来的一个大数据的一个搜索的一个场景,那你可以在这样一个平台之上,可能可以。很好的把你现在已有的数据做索引和排序,那它可以集中给用户非常亲切友好的搜索结果,很快的速度啊,让用户获得他最想要的一个搜索结果,那不不仅是ES本身有这样的功能啊,为了让你更加的方便的去构建你的搜索功能,那我们又通过enterprise search这个这个解决方案,其实它是一个独立的安装包啊,就是独立依赖啊,独立独立于sta之外的一个附加的一个安装包,这个安装包里面包含了。来这个企业搜索这个解决方案的所有的功能,这个里面所有的功能的话,刚才我说过workplace search APP search和set search啊这三个功能,三个功能都是通过elastic search这个安装包和elastic sta它这个无缝集成完了之后啊实现的,那我们今天会使用什么一个版本呢?刚才我说了,我们首先的话,我们需要有一个虚拟机啊,在我讲的过程当中的话,我相信你的虚拟机是已经啊是是已经这个啊都已经准备就绪了啊呃,那另外的话,我们需要一个就是你这边。
18:35
这个安装包的话,是需要我们最新的版本啊十啊七点啊,7.15.0啊,七点一一五点,但是我们是通过清华的呃,那个镜像站点啊,镜像站点去通过网络安装亚明这个啊这三个安装包,那我们来再看一下我们这个系统架构。在我进一步细,呃细讲这个之前啊,这功能之前的话,我想再做一个调查啊,再做一个调查,这个调查就是说你们自己啊,有构建过有基于ES啊,基于eltic search啊。
19:15
在你以前的这个项目经验当中,你开发手撸过,手写过这种搜索引擎应用的啊,请在这个聊天室里面输二啊,那这部分人的话,我呃,那那那我们就认为他们是一个高阶用户了,高级用户的话,可能也可以拿这样一个elastic search and press search一个这样一个解决方案来去解决刚才我说的那个特定的搜索功能啊,假如你以前在ES上构建过搜索功能的,请在聊天室里面输二,我来看一下我们今天这个高级用户有多少,那在这个过程当中的话,我再讲一下我们今天要。做的这个工作坊的一个架构啊,工作坊的一个架构,首先的话,我们会去搭建这个elas search啊和elastic search和K巴纳这一块啊,这是我们这个elastic sta的这个基础的一个环境,那把这个基础环境搭建好了之后的话,我们就有了一个基础平台了,在这个技术平台之上的话,我们会去搭建这个啊,会安装elastic enterprise search EL enterprise search里面的话,我们今天只会去啊,只会去使用,或者说只会去。
20:25
去这个呃,接触它的APP search这个功能啊,这个APP search的话,本身的话,它是呃帮你去构建搜索功能的,这个搜索功能的话包括这样几个步骤的啊,搜索功能的构建的话,包括这样几个步骤,第一的话,你需要在这个APP search里面的话会去啊输入或者说会去APP search是一个。你看你有了这样一个平台之后的话,这个APP search的话,帮你可以做出一个一个的搜索引擎啊,你这个搜索引擎的话就是一个啊,实际上就是在elas search当中的一个索引了,一个用了于用于你做搜索功能的一个索引,那这个索引的话,本身的话,它有它的STEM,它有它的很多的啊。
21:10
啊,同义词啊,啊声序啊等等等等等等等等,很多搜索管理的功能,那这个也都是APP search这个啊软件需要帮你去实现,你把这个搜索引擎定义好了之后的话,你需要有几个步骤去使用它,这个包括什么呢?包括你要通过这个这个APP4本身的话提供完整的。输入输出的API,这个输入的API包括下层的和数据源对接的API,它都是restful API,那你这个搜索引擎在这里面建好之后的话,你如何在搜索引擎里面初始化和构建你的这个这个假,假如咱们就是举一个简单例子,就是产品目录的搜索,那这个搜索引擎里边的这个数据如何和你外部的这个产品目录的这个你有可能是一个数据库啊,如何去同步,如何去这个去更新的,那你都可以通过这个APP search API和外部的数据源做这个同步啊,因为你希望用户搜索到是一个更新的一个啊,这个产品目录的一个库,那这是一个方面,这是他下层的这个数据的一个同步和数据的初始化的这样一个过程。
22:22
那你用户的话,你希望给用户,刚才我说了,我用最简单,你今天就是一行代码都不编写的方法,提供给用户一个。一个定制好的一个搜索界面,让他通过这个搜索界面来完成他的搜索体体验,实现最终用户所希望的搜索功能,那这个搜索功能的话,可能可以嵌入在你现在已有的网站里面,也可能就直接丢到你的一个手机的APP里面去了,那这就是看你的一个啊,对它对这个搜索引擎,它所发布的这个搜索界面的一个部署了,那包括的话,我们今天因为因为它自带这个搜索UI的这个模板啊,我们今天只体用一个体验一个模板,通过这个模板实现一个最基础的一个搜索体验和搜索功能,那这个模板本身它是什么呢?它实际上是javascript的一个。
23:24
里面呃是javascript一个模板,这个Java script里面它有很多这个APP search的一些客户端的一些库和一些包和一些配置文件,那那个界面上的话,它可以去直接调用你现在这个搜索引擎的一个API啊,通过你这个搜索引擎的API的话去。来仿分到这个搜索引擎里面的功能,那因此的话,今天这就是我们今天会实现的整个的一个架构,我们会去手工在一台虚拟机上去搭建elastic search和K8纳这个基础的平台,基础平台搭建好之后的话,我们会去安装elastic enterprise这个实现APP search功能的这样一个软件包,把它配置运行跑起来之后的话。
24:10
然后再去使用它里面的这个APP search的功能做初始化,提供给用户一个搜索界面,今天这个时间会比较长啊,但我们希望一个很简洁的方式啊,争取在一个半小时到两个小时之内啊,我们就搞定啊,好了,我们今天这个架构讲完了,我们会继续继续今天这个课程的讲解。嗯,首先的话,我们会需要准备一个系统,刚才我也啊我也说了,你可以是可以是一个最低4G内存啊,最低4G内存,然后你可以是呃8G内存啊,假如你是在本地的一个虚拟机上运行的话,你3G4G内存啊是最最少的,4G内存可能是最少的一个量。我们有这个虚拟集的话,首先的话,我们安装一下一个最初始的一个安装包啊,这个初始安装就JDK这个enterprise search的话,其实它是一个Java的应用,我们先安装一个啊,安装一个最新版的K。
25:17
嗯,好了,我们进一步往下,进一步往下安装啊,我们现在会进入这个清华的这个清华的这个语园区安装啊,假如你的现在的呃,这个网络啊,就清华的这个这个开源的这个源还是比较速度还是比较快的,假如你在你的环境当中有更快的源啊,你可以切换成一个更快的一个elastic sta的圆啊,因为elastic sta在国内有好多镜像的圆啊,啊,那我觉得你就可以用一个离你最近的镜像的圆去做这个安装啊,你可能就会把把这个呃这个替换一下,当然的话,这个清换的圆已经很快了,我们现在就是安装我们第一个。需要安装的一个组件,就是安装我们的elastic search啊,最新版本的elastic search07:15点零啊,07:15点零。
26:08
好了,我们废话不多说,我们就开始我们的安装工作啊,我会一边安装一边给大家讲解啊,今天这个workshop是没有一个PPT的啊,因为这个都是一些实战的一个安装配置工作啊,我希望大家记住的不是我讲了一堆的理论的,而是说你这个今天我们这个直播完了以后。可以把你现在跟我一块做出来这个系统。可以在今天下班之前,或者是在明天啊,给你们组的人,或者给你们其他相干的同事去做一个整个的一个演示啊,告诉你的同事说,诶,我们通过以来这个search里边的enterprise search功能,可以为咱们的这个应用系统构建什么样的搜索功能啊,这个搜索功能的话,从基础配置到搭建到调优,到里面详细的功能,它是怎么使用的,我们今天会比较多的使用到APP search里面的很多最重要的功能啊,我希望今天今天这个虽然有录播啊,但是我希望今天大家真是跟我做一遍之后,你就可以去在你们公司去做这样一个分享,跟我类似的分享,因为我这边我这个整个课件也是在公网上可以访问的啊,我希望大家也都可以去正常的去在你公司内部去分享这个课件和去学习。
27:36
那这个search的安装包装完之后的话,我们就需要做它的一些安全的设置啊,我们需要启用数字证书,我们需要启用这个相应的这个啊密码,那这个数字证书和密码的使用的话,我这边已经做好了这个安装命令啊,这个安装命令的话,大家直接就copy去执行就好了。啊,应该问题都不大啊。
28:02
这个命令我就不详细去解释啊,这个基本上他就把数字证书创建完了之后就给你啊部署好了。那接下来的话,我们需要啊,稍微讲解一下我们这个以来这个search这个默认的配置文件啊。我不会去给大家去梳理默认的配置文件里面的配置信息啊,因为这样大家会很无聊,对吧?这个这个配置文件如果说你想看的话,它其实就在啊,就在这个,就在这个位置啊,就在这个位置,如果说你想看的话,你就可以读一下这个,呃,这个里面内容很多,因为很多参数我们用不到你,所以的话我们就以最简洁的方式告诉大家,可能你有哪些参数需要啊,稍微了解一下的,那作为一个必备的知识的话,我们需要知道ES的配置文件里面至少你有集群的名称是吧,集群的名称刚才我说过,对吧,我们这是一个。可以hold住大数据啊,几百G上TB是成TB数据的一个集群啊,所以说你首先的话,集有集群的名称,那每一个机器的话,它有一个节点的名称啊,我们可以构建一个大规模的集群啊,它每一个,那我的加入的时候,加入集群的时候呢,Class相同的话,他就加入这个集群了,他可能以数据节点啊,以不同的身份去加入的,所以说我们首先的话有一个集群的名称啊,大规模的集群的话,可以hold住大规模的数据,那你要知道你的这个当前的这个节点的话,你的数据和日志是存在哪个目录里的,那我们需要有一个网络参数啊,网络参数就因为我是做测试啊,这个是不考不涉及安全性啊,因此的话,我希望我这个服务E来这个测试ES,这个服务起来之后,对于所有的网段,所有的IP都是可达的,那我去设置的是0000的参数,那因为我今天是一个开发环境,是一个演示环境,因此的话,我给他设置的是。
29:55
单节点的启动模式啊,单节点的启动模式,那这边是我安全啊,我这个数字证书的一些设置,这个我就不细讲,那这边的话是我这个呃。
30:07
啊,认证方式的一些设置啊,这些认证方式的设置的话也会啊,我会在ES里面,因为有它的免费的认证系统啊,我们ES里面建的用户可以用来登录K8纳,那我们今天这个工作坊当中的话,登录来登录我们的enterprise search的话,它的用户名的用验证,它的用户体系的验证,我们也是。把它和ES绑定的啊,因此的话,我们为了简洁起见,我们不再不去做其他的,因为我们可以把ES只当后台的啊,那个索引的那个技术的,那我们这个使用这个enterprise search这个功能的,我们假如想把它使用其他第三方认证的话呢,可以和ad啊L来去集成,那今天为了简单起见,我们就把它全部整合成ES的这个机啊,这个这个安全认证啊,所以说我们用K巴纳的用户,我们今天用的所有的用户都是ES里面的用户认证。
31:09
好了,这就是我们的一个目标的一个配置文件,那为了最简洁的把这个配置文件部署下去的话,我们也是用一个非常呃懒惰的方式去去去去来部署这个配置文件,我们先复制这个配置文件所有的内容啊,我们在当前目录下创建一个叫S。叫S点的文件,然后的话,我会去把你这个文件的话覆盖到你ES默认的文件,然后我会去启动ES服务啊,这样的话就完成了我们ES这个服务的一个部署啊,完成了ES服务的部署,所以的话,我们现在就啊开始啊,我们会在当前目录下VI一个s.YML的文件,然后我们把这个课件当中的这个内容copy进来,然后目录现现在当天目录就有了这么一个文件了,那这个为了这个方便起见的话,我就直接把这个命令复制过来啊,这样的话我就把我的这个。
32:13
这个ES的配置和部署的工作就一次性的就搞定了,那么这样的话,我这个ES如果说正常启动的话,我今天这个ES的啊服务的话就啊搭建完成了,我今天呃,给大家这个分享的这个整个的一个过程的话,它是。啊,它是有可能会啊,会会出现意外的啊,这个请大家这个啊,请大家这个。啊,多多的关注啊,我们今天这个所有的这个直播的话,都是从零开始去做啊,我也可有可能在其中的某一步可能会卡壳啊,当然嗯,这个希望今天这种事件不要发生啊,因为任何一次这个演示啊,任何一次这个直播啊,都是有可能会翻车的啊,今天希望不要悲剧,那如果说我现在看一下这个日志,如果他不报错的,我们的服务也正常的话,我们就可以啊放心的把这个ES丢在这里了啊,放心的把ES丢在这里了,那现在的话我们要去创建密码啊,创建一个密码,我们创建一个叫,因为我后面的配置文件里会用到S123这个密码啊,啊所以说你看我后面这个密码的话,会用呃S123这个密码,所以说我不会让他去创建,呃,默认随机的密码啊,我会去首先的话会去用这个,我们用ES的用户认证啊,就是用E。
33:42
S里面这个啊,我们会其实今天不会单独创建用户啊,我们会用系统内置的这个用户,但是给他使用啊,使用一个相同的啊这个密码啊,S123,那用这条命令的话去开始我们给内置用户啊去这个。
34:00
配置密码的一个过程,那为了简单起见的话,我就全都copy past的这个赛123过来啊,啊,这个是一个开发,这是一个我们怎么讲呢,测试的一个过程啊,我们在测试开发阶段可以这么玩啊,你在生态环境当中的话,这个是不不是。建议的一个做法啊。嗯,好了,我们这个呃,应该都是把密码设置完完成了啊,我们都是设置了,呃,设置的这个S123这个密码,那为为此的话,我会我会我们每一步其实都是一个真实的演示啊,我们啊没有这个。我们来看一下我的这个云服务器的外网的IP是多少啊。
35:02
然后去我去会去看一下我们这个E是不是可以正常正常访问的。920啊,如果说你是你是在本地的虚拟机的话,你就问这个虚拟机的IP加920就可以了,如果你是。啊。错了,是。啊,这个主要是验证一下啊,我相信我这个安装还是不会有问题的,就是你也验证一下你的用户名密码,哎,如果说是这样的话,就不就是很好吗?这个就是安装正常啊,如果说你这样看到这个登录结果的话,就表明ES安装正常,ES用户名和密码。也都是啊,也都是这个啊,OK的,好了,我们可以进行下一步安装了,下一步的话,我们现在有了ES之后的话,我们下一步需要安装和部署K巴纳啊,K8那是我们的这个,我们所有的用户用户界面的话,都是通过K巴纳去啊去实现的啊,我们也是很很这个。
36:18
很轻松的,我们就把这个命令这个圆的话,如果说对于你来讲比较比较慢的话,你可以换一个圆啊,这个咱们elastic sta的这个as测试这个源的话,在很好多云里面都有啊,你要是在其他的云里面的话,你可以啊,特别是国外的云的话,你可能直接呃,直接用这个EES官方的语言可能会更快。在国内的话,我觉得清华这个原因已经很。好了,我们把K巴纳装好之后的话,我们同样的也是要去替换,也是要去部署一个K8纳的一个配置啊,配置文件就K巴纳配置文件的话也是相同的,我不会去讲K8纳的所有的配置参数,我只是去讲几个对咱们有用的啊。
37:05
啊,你看我们这个K巴纳的配置文件的话,是这样的,K巴纳server啊,0000的话,就表表示K巴纳服务的话,会对所有网站任何来自任何IP都启用,那同时的话,K巴纳他要去连接本机的,因为我这个K巴纳和ES装在同一台机器上,它会去连接本机的,本机的这个ES服务啊,而且会用内置的这个。K8纳的系统的这个K8纳这个杠system是一个K8纳杠system是ES里面内置的一个用户啊,刚才我一给所有内置用户都创建了,都配置了相同的s security123这个密码,那因此的话,他就可以去啊去用这一套信息,K班纳就用这套信息去连接ES去初始化他自己啊,那我现在提前就已经把EL色的配置就已经放进去了啊,EL个色服务器虽然还没装,但是我已经把它的这个配置放进去了,然后我们我们通过这条参数啊,把K巴纳变成中文的界面啊,因为我们这个K巴纳里面还是有中文界面的,那这个K巴纳这个几条。
38:12
这几条参数的话,我都不解释啊,这是K8纳所需要的一些参数啊,因为这个呃,Enterr search的话,它需要这样一些key啊,他需要这样一些key,那我们也都是啊,使用的这个相同的方法复制我的。配置文件啊,配附着的配置文件,然后完成这个K巴纳的一个配置VI一个KB点样,然后也是相同的,也是相同的,你复制这些命令,然后去它就会。啊CP哎哟啊,我们可以去复制我这个命令啊,复制我的命令,它会把当前目录下KB点样文件去覆盖你的默认的配置文件啊,默认的配置文件,然后。
39:02
然后我这还启动不了了。有问题啊。哎呀,我就说今天会翻车啊,没想到这么早就翻车了,看看是什么情况。嗯,我猜测啊,我猜的有可能是这个有有可能是这个密码,这个用户名的问题啊,我来排错一下,排错下我错一下,我把这个密码改成改成,因为刚刚咱们验证了啊,这个用户是可以正常登录的。123这边再来启动一下。黑还启动不了。
40:02
如果你这个可能正常启动的话。那就更好啊。如果启动不了的话,可能会有需要一些排错啊,我现在有一些现场的排错的话,可能对你有帮助,我现在无法启动的话,我要进行一些现场的排错了,那首先的话,我怀疑是不是这个存在的原因啊,我把它注释掉这一行。注释掉,我把这一行,我注释掉几行,然后再启动一下试试,再启动一下试试。嗯。哎呀,看一下。
41:05
看一下它为啥会,为啥会,为啥会启动失败呢。没报错呀。嗯,好了,我看来我这个排错是有效的,我这K8纳已经正常运行了。呃,这K8呢,我已经正常运行了,所以说刚才我给大家呃,参考一下我的排错的思路啊,就是因为这个我这个K8呢,是一个定制的一个配置文件啊,这个定制配置文件是我一个从最终版的我的那个可以工作的系统里面就是搞出来的,那因此的话,我就注释掉了其中的两行,注释掉这一行,还有这一行啊,注释掉这两行之后的话,他就正常工作了啊,他就正常工作了,那是不是可以正常工作呢?我来试一下啊,就是要去访问一下5601啊,就访问一下5601登录一下。
42:24
啊,如果说这个正常登录的话,就表明我刚才这个排错是对的啊,可能我这个参数加早了啊,我就把它注释掉啊,待会儿把这个enterr search这个so装好之后的话,然后再把它打开啊。等这个一切准备就绪了,那个安PRICE4试装好了,然后再去启动。他这第一次初始化可能会有点慢啊,因为有点慢。
43:04
啊,我的配置文件就是在这个课件里面啊,大家这个可能在过程当中会啊,遇到一些坑啊,那你可能要呃巧妙的去把它。度过这个启动的好慢,应该是很快就就OK的。好了,第一次启动可能就是慢一些啊,然后我们再去来登录我的K巴纳啊,登录我的K8,那我的密码是S1232。我的,那这个我就可以保存一下密码吧。啊。把这个警告给静音一下,可能很烦,我选择自己浏览啊。诶,你看这就是我们这个最新版的啊,最新版的这个K巴纳的这个界面啊,这个最新版的K巴纳界面是现在是越来越爽了,这个界面做的我们这个就是我们的今天所要学习的这个叫企业搜索的这个。
44:10
这个解决方案,这个解决方案,那我们今天的话只会做来search啊,APP search这一块啊,这个给大家留一个家庭作业啊,你们可以去学习怎么去部署和怎么玩这个workplace search,这个APP search里面其实就已经包含了APP search加set search啊,待会儿我会啊做详细配置的时候也会跟大家稍微提一下啊,Set search其实就是给你已经写好了一个呃爬虫了啊,还可以用爬虫的方式初始化一个搜索引擎,然后这个搜索引擎的话提供搜索功能,所以说它真的是降低了搜索的。降低了搜索的啊,大家已经可能发现我的这个bug了啊,如果你发现bug的话,其实也可以帮我把这改一下,我这个代码也在github上好了,我们就继续我们的这个啊课课程啊,继续我们的课程,然后我们这边还要做一个就是启用企业版30天的试用啊,启用企业30天的试用的话,只是说让我们这个and price search和workplace search里面有些功能,它是企业版才可以去用的啊呃,反正你这个不付不付钱呢,以后可能你肯定只是做一个测试嘛,你这个啊完整的看一下完整版的话也没啥坏处,你这个自己手工搭建的话,就是使用我们这个30天的这个试用了。
45:33
你要是这个在,呃,腾讯云里面的这个ES,那你这边就是白金版啊,白金版和基础版都有里面的企业license啊,所以说这边的话我们啊。就稍微点一下说我们有一个企业版的license,我们在这个今天这个培训当中的话,提示大家去启用这个企业版的30天试用的license啊。然后我们下一步的话,我们就开始正式,我们今天的主角就正式登场,主角就正式正式登场了,然后其实也是安装我刚才说的这个叫enterprise search这个安装包啊,这个安装包里面就包含了刚才我说的enterprise search这个解决方案当中的三个搜索的功能啊,这三个搜索功能的话都是你把这个安装包安好配置好啊就OK了,好的我们就安装这个。
46:27
安装这个包。这个安装包的话,就是我们需要做企业搜索的。这个所有的功能都在这个这个包里面啊,这个enterprise search的话,也会有一些配置文件啊,这个配置文件的话我们也会啊,关注这样几个信息啊,关注这样几个信息,首先的话,第一个配置信息的话,第一个配置参数的话就是诶andprise search的话,因为它是一个基于elastic sta的一个应用啊,它你看我们这个安装包都是附加安上去的,它不是在ES这个安装包里,所以这个enterprise search这个解决方案,整个的话,它都是一个基于elastic sta上面又提供给大家的一个。
47:14
一个应用啊,一个应用,那这个应用本身的话,它有它的用户的认证,那这个用户的认证的话,它就可以是有很多种方式的,那我们今天的话就是以ES的。ES内置的用户,我们今天只用ES内置的这些用户啊,当然ES里面也可以建他自己的用户,呃,用户权限系统啊,这个我们今天不提,那我们今天为了简单起见的话,我们今天所有的用户认证都是来自ES的,那本身的话,R search的话可以引引用你现在企业里面的adl de等一些其他的认证员,这个我们今天暂且不提。Enterprise这个应用的话,它也需要知道我的search的服务器在哪啊,我们因为所有的系统的话都是装在一台虚拟机里面的,所以说都是127,然后用户名和密码。
48:09
啊,用户名和密码,那允不允许这个enterprise search去修改这个ES setting的话啊,我们也是选择的true啊,这就假如你在生产环境里面,就是意味着说你给他的这个用户名和密码有没有这个修改的权限啊,那有的话他才可以去做相应的修改,那同样的话,他这边还会有一个搜索的key啊搜索的key这个我记得是要做替换的,我记得会要做替换,所以说大家在你部署这个配置文件的时候啊,我记得应该是还是要把它。啊,注释掉,注释掉启动键enterprise search这个服务的时候,它会给你提示啊,它会给你提示说它帮你生成的一个你所需要的一个加密的key是什么,然后你最终再把它替换回来,然后我们还需要让enterprise search知道。
49:02
我的K8纳的外网的ul是多少,如果说你是在本机的一个虚拟机啊,你可能把这些这行注释掉就可以了啊,你啊,或者说你把它改成你这个你本机的虚拟机的话,它本机的话也应该有个IP地址啊,应该有个I地,你把它改成本机的IP地址,那我说云主机的话,我的云主机的话,它有一个外网的IP地址啊,有公网的IP地址,那待会我都会会去把这个地方替换成我的公网地址啊,哎,我呃,我就。我就直接开始啊修改了,不在这儿讲了,我修改的过程当中就可以啊,让大家就可以,我会vir一个int.yml文件啊,我把它改成我需要的样子啊,改成我需要的样子。然后呃,刚才我说过了,那这几个,我按照我以前的经验的话,这一行的话,我很有可能要把它。
50:00
把它注释掉啊,再说一遍,我今天这是一个实景的实际环境的一个直播啊,这个直播的话不是录播,就是我的任何一个操作都有可能,都有可能翻车啊这个。如果翻车了,请大家这个多多担待啊,然后这边的话,外网的地址这个PR search的话,它有啊外网的一个IP啊,它也有内网的一个IP,所以讲到这个地方的话,就要讲到一个一个搜索功能的一个提供网,你这个enterprise search的话,本身它也是一个service提供给你的用户,那这个用户的话。它是在哪呢?我刚才说过了enterprise search里边的APP search功能的话,给用户提供了一个定制化的一个搜索界面,那这个搜索界面。呃,是在哪个IP上。通过什么端口被访问的呢?那我们现在就是啊通过的啊,这个I啊这个啊这个IP的这个端口啊,被用户去访问的,那我们也可以去限制他listen的范围的话,是全网所有的端口啊,所有的IP都可以来访问我这个enterpr search服务。
51:17
啊,那因此的话,我这边设置了一个。我的enterprise search的啊,日志的目录啊,那这个就是一个最基础的。Search的一个配置文件啊,我这边建好之后的话,你看我这边做了一些修改的啊,最主要的就是加入了我的这个外网地址,因为我这是一个啊云主机,所以说我需要用公网IP去访问它。啊,因此的话,我就把它改成我的云主机的公网IP,那因此的话再回到我们的这个课件啊,再回到我们的课件,那我们也是用相同的用相同的方法啊,啊首先的话,我这边是对默认的配置文件做了一个备份,然后我用我我这个现在当前目录下的这个配置文件去覆盖默认的配置文件。
52:07
好了好了,完成了这个配置的更新之后的话,我们就需要启动enterprise这个应用了,启动这个enterprise这个应用之前的话,我会有一个enterprise search的,因为它是个应用嘛,它有一个默认的一个密码,这个默认的密码的话,我们把它放在这个我们这个shell的这个变量里面啊,这个叫search for you,然后我们会启动这个enterprise search服务的,我们从council去启动啊,然后它的这个启可可执行文件就是在这个目录里面啊,因此的话,我们来首次尝试启动我们的。And price search啊,你启动了以后的话,你会啊,会应该会看到这么一条输出啊,待会儿我会再把它替换回我的这个配置文件里。啊,那这个过程的话也可能会出问题啊啊,大家来先来第一步初始化启动我们的enterprise啊。
53:08
啊,如果说不报不报错不翻车的话,它就会正常的启动啊,并且出现刚才我看到的那个看到的这这个这个key啊。Key的话,我们会把它复制,然后再次修改啊,然后让让它再次启动啊,其实就是初始化一个key的过程,诶对,它就会停在这儿了啊,它就会停在这儿了,因为它这个配置文件里没有这一行,他也不会他也走下去了,所以的话,他就告诉你了,说你这个配置文件里不行,你配置文件里没有这个参数,那我给你一个吧,啊,我们现在就把你每个人都不一样,你第一次启动的时候,他会给你抛出这一行,那这行是你要放到你那个配置文件里的,那因此的话,我们再去修改你的现在的啊,实际使用的这个这个。
54:00
这个配置参文件啊,配置文件ET呀,配置文件刚才我说了,我是不是注释了一行,那我现在把它给删掉,我把它给再这是刚才我第一次启动的时候这个。Enterpr这个程序吐给我的,那我把它再填回,填回我的配置,填回我的这个配置文件,那好了,那这个这下你就满意了吧,然后我们现在来再去启动我的这个啊,启动我的这个,启动我的这个enterprise测试这个啊,这个程序啊,这个enterprise测试这个程序的话,今天我是一个开发测试系统啊,我就把所有东西都搭在我的整个一个虚拟机了,你可以想一下enterprise search里面,其实它也有很多的服务功能的。它有它的思索引擎管理功能,它的用户认证功能,它好多它的后台,后台的配置界面,它有它的用户界面,它有它的对数据同步,数据源同步的API,它还会承载大量的,假如你搜索界面都是API调用过来的,那它其实有大量的什么呢?对用户提供搜索服务的能力,你看他这边又初始化了一个用户啊。
55:20
告诉我了有个默认的用户了,那因此的话,你可以知道这个enterprise search,我们今天只是搭了一台啊,搭了一台,呃,装了一个安装包搭了一台,就假如你这个enter price search,你提供的这个所有引擎功能做得好的话,你你相当于以后的话会面对大量的搜索的用户,那因此的话,你在面对。满足大量的搜索用户执行搜索功能的时候,那就意味着你一台服务器肯定是不够的,所以说你可能要找好几台enterpr啊虚拟机,然后你跑这个enterprise search这个服务,你可能要也建一个enterprise search的一个集群,然后对用户去提供这个搜索功能,因为你刚才我说了enterprise search是为了让你更简单的给用户提供搜索体验,什么叫搜索体验?就是提供从所有引擎的构建数据的,呃,同步到用户端的一个搜索界面的一个提供那搜用户端,那用户端那个搜索界面的话,其实那个搜索界面里面就包含了。
56:25
这个APP search的好多搜索的一些库,它直接去通过这些库和你这个搜索引擎APP search这个平台去连接,然后实现用户想要的搜索功能啊,满足用户所这个所有的搜索的愿望,所以到目前为止的话,我们这个这个enterprise search这个服务就启动啊正常了,那我们不会关闭这个窗口啊,我们今天你要把这个窗口关的话,你今天这个后面练习就都没法做了,你开着它的话,还有一个好处就是诶,你可以看一下在你配置的过程当中的话,这是滚动一些什么信息出来啊,你知道这个他在后台在干嘛呢。
57:02
那我们今天为了啊,为了这个更多的学习啊,我们会一直留着这个参,留着这个窗口啊,那我们这个enterprise测试弄好了以后的话,我们其实需要去K8那里面去,去这个去到K8那里面去这个确认这个功能啊,我们现在来点一下啊呃,那我们现在的状态大家猜一下,你这个enterpr可不以可不以点进去啊。啊,这个地方肯定是点不进去的啊,因为刚才我们因为有这行参数,所以说咱们这个K巴纳都没启动起来啊,因此的话,我们现在还需要修改K巴纳这个参数配置文件,然后把这条把这行参可置配置参数给打开哦,这样的话确保这个K巴纳可以知道,诶enterprise色是你你想用是吧,可以,那你要在哪个在哪个URL里去用啊,你这个enterprise测试的服务啊,服务器的位置在哪啊,那因此的话,我们现在需要去修改一下K巴纳的配置文件,把我们这个这行这行打开啊,这行打开,嗯,这行参数我也打开吧,然后。
58:13
哦。我知道了,我这个配置文件刚才。刚才我们有那个聊天里面大家也提到了,我这个配置文件确实是有问题,我是少了一个双引,少了一个双引号,其实我刚那个配置文件是一个很弱的一个很弱的一个错误啊,居然是这个语法错误。啊,按理说有可能不不取消那两行参数,这个K巴纳也是可以正常使用的,那犯了一个低级的错误啊,我AR一下K巴纳。然后看一下服务是不是正常的。
59:03
诶,K巴纳服务哦,很正常,诶你看这边就是我们的enterpr search这个界面,其实它也可以去正常登录的,我们今天不会登录这边,我们今天所有的操作都是在K8那里面去操作啊,因此的话不会去访问那个界面,我我我这个操作的话,我都是从这。呃。什么情况?啊,我需要来退出一下。诶,好了,我们需要通过,嗯。通过这个地方,我们需要通过呃这个K巴纳界面啊,通过这巴纳界面点击业务,呃企业搜索,点击打开enterprise search的控制台,其实你发现了没有,就是它把这个enterprise search的一个控制台啊,其实这个界面呢,也可以分开,分开来使用啊,放到你看这个就是这个界面分开来使用的一个样子。
60:11
啊,其实它也可以分开来使用,因为这个产品的话是是相当于在elastic sta之外的一个外挂嘛,那你可以分开来使用,那你访问这个,呃,3002的话,你分开来使用,那我们现在在以来K吧那里使用的话,其实把它这个界面,其实它在I,呃,K吧那里面写了一个APP啊,你可以看他写了一个APP enterprise search APP把这个界面都集成进来了啊集成进来了,所以说在这里面的话,我们就使用起来也很简单,也很简单,那这个的话也可以单独去登录啊,你要使用这个单独登录的话,就用到我们刚才启动的那个参数了,就是enterprise search,用户名是enterprise search,然后密码是search for you,然后你也可以单独去登录它,那我们今天不是这么去使用方法啊,我们今天直接就可以在K8那里面去使用我们的APP search功能,好了,我们现在就进进行下一步啊,进行下一步我们就正常的打开了这个。
61:06
我们正常的把enterprise这个服务安装好了。安测试服务安装好了以后,我们就下面我们要创建我们的搜索引擎了,搜索引擎的创建的话,到目前为止的话,我们完成了ES服务器的安装和配置,完成了K8纳的安装配置,这个和你们之前安装ESK8纳不太一样,因为我们今天对ESK8纳的安装的话,都是为了符合enterprise search这个solution这个APP的正常运行,因此的话,在这边的配置的话是有一些特殊的地方,那我们继续的话来进入到我们今天这个我们今天这个正题啊,今天进入今天这个正题,我们要创建一个在APP search里面啊,就APP search再讲一下APP给你实现什么样一个功能了,就你这个搜索是无处不在的呀,你一个SAS应用啊,外部应用啊,电商呀,你的呃呃,客户服务支持啊,你的很多的基于地理的搜索呀,你企业的官网内部的搜索,还有很多很多其他任何的搜索,你是不是都是想手撸这个。
62:11
啊,ES里面的索引,然后去分词,然后去做全文检索,然后去排序,然后做所有的功能,啊,那如果说你呃在这方面很资深的话,你做的很溜的话可以,但如果说你很有很多很杂的一些业务,也要有搜索功能,你又懒得去写那么牛叉的代码,那你就可以用enterprise search里面的APP search功能来去帮你去给这些。这些系统去添加很easy的去添加我们的搜索功能啊,那这个搜索功能的添加过程的话,就是今天我们今天这个工作坊的内容,那我么,首先的话,创建一个搜索引擎,创建一个名为games的搜索引擎啊搜创建一个名为games的搜索引擎好了,然后来到我们这个搜索引擎啊,你看我们进入到APP search APP search的话,我们因为一个搜索引擎都没有嘛,所以说我们点击创建引擎,然后给搜索引擎一个名称,然后呢,这边的话,其实它也会有一些。
63:15
刚才我说到了嘛,你这个要是自己搞分词的话,你肯定要用什么分词引擎啊,然后用什么语言呀,你肯定要会注意到嘛,然后如果说你这个啊,不是很精细的去啊去去去处理它,也可能你选通用就够了,也可能你里边纯中文的,你选中文用默认中文搜索引擎可能也可以搞定,那我们今天的话就选用通用。所以说这个不同的选择的话,产生什么样的效果的话,这个还有待于你们在项目当中去验证啊,今天我们为了演示这个APP search的搜索功能的话,我们今天就使用了通用,哎,搜索引擎做完了之后的话,第一步的话是要做搜索引擎的初始化。
64:00
所以你的初始化这边的话,我们讲了,你搜你的初始化就是和你的数据可能是通常的话,你的数据源的话,都是在你的外部的业务系统当中,可能就已经存在了,有可能是一个数据库,关系型的数据库,有可能是一个文档的数据库,有可能就是一个ES,有可能是啊某个应用系统啊,那如果说你要跟他做对接的话,你就是要用API去做对接啊,今天我们不会讲这个,那假如你有可能让他搜索的就是一个静态的一个。一个结构化的一个已知的一个数据,而且这个数据是不变的啊,类似于比如说你可能就是有一堆的这个阶层数据,而这个数据而且是不变的,那你也有可能很简单,你就把这个数据就贴进来就完事了嘛,是吧,没那么复杂,那你就简单的把它贴进来,它永远搜的就是搜这些东西嘛,那你可以直接把它贴进来,那今天的话,我们做的是一个杰森文件的一个上传啊,这个杰森文件在哪儿呢?你可以在我们这个课件里面啊。
65:04
在这个网址上,你可以下载这个叫videos game的这个Jason文件,下载到你本机的。目录里面啊,下载这个目录,下载到你本机的目录里面,然后跟我做相同的操作,我们今天使用这个上传JS文件的方法来去初始化我的这个搜索引擎。这个上传的话,我们就点击这个上传JS文件,然后在这个接界面里面的话就会有啊,你可我可以把这个文件拖过来啊,也可以。选择这个文件,选择这个文件的话,我这个文件是在source code的。Source code的workshop。Workshop的这个地方。然后选择这个啊,选择继续。然后他就把这个文件上传上去了,然后他这有个大小的呃限制啊,就是十兆,这个文件不要大于十兆,大于十兆的话,你就自己写一个程序吧,就是通过API把它就啊漏了进去了。
66:09
啊,所以说这个上传的话,一个十兆的文件啊,传上去之后的话,它实际上就是把这个文件的话,就直接你看我这个文件里有些什么字段啊,你本地的话,我也建议大家啊,你在本地的话,呃,你拿你的Vs code也好,还是拿你的一个什么编辑器也好,你打开看一下。我们这个games这个文件,呃,这个Jason文件的话,它里面有4057个记录啊,4057条记录啊,每一条记录都是长的是这样的,它有一个ID。是我们所有的video game的一个产品目录啊,有一个产品的ID,有一个产品的name啊,有一个哪一年发布的什么平台,什么类型,什么厂商,那他全球销售了多少份儿,然后这个有些用户的评分啊,编辑的评分,然后呢,开发商是哪个公司,然后他这个游戏的这个是不是有一个。
67:08
封面图片呀,它是啊长什么样啊,所以说的话,这个就是一个啊,真实的一个可用的一个游戏数据。那我们把这个游戏数据导进来之后的话,它就初始化到我这个搜索引擎里面来了啊,这个搜索引擎里面就不是空的了嘛,然后的话,这就完成了我搜索引擎的优化了,我再给大家扩展的讲一下。如果你是同步的一个动态的数据,那你就要通过看这个的API文档。然后通过API去啊,通过跟这个APP search服务的API啊,APP search的这个服务的API去交互,然后完成你数据同步,那你在API你可能会自己写一段程序嘛,你这个写一段程序的话,那段程序的话,Ruby也好,Python也罢,这个这个这个javascript也好的话,你你他他有他这个API的话。
68:10
和我这个服务去连接的时候,它有个key啊,Private key security key啊,有这个key和这个服务做用户身份验证啊,他才可以去啊往这个终端上去写啊,往这终端上去写,因此的话,我们就知道了,你这个搜索引擎创建好了以后,你这个搜索引擎平台的话啊,可以用它这个key啊,用API。啊,去来给你这个数据里,给你这个所有的搜索引擎里面的这些这些这些呃,去做同步的数据的更新啊,同步的数据更新啊,这是在一个所引擎里面数据动态的情况之下啊,接下来的话,我们来看我们的这个我们的这个。这个数据是什么样的啊,你也可以来尝试性的修,呃,搜索一下啊,尝试性的搜索一下,来搜索一下我们这个数据是什么啊,你看我们这边有一个叫查询测试器的,我们今天会。
69:10
多次会用到这个功能啊,我们会查询一个,不知道大家都喜欢玩什么游戏啊,你可以查一下你曾经玩过的游戏,比如说。包。嗯,Pokeman啊,这个pokeman还真多啊,很多的这个pokeman的游戏啊,不同年代不同平台上发发布的好多版本啊,你可以搜索一个你你喜欢玩的游戏啊,你搜索一下。那接下来的话,这个就是我们的初始化的数据,你可以看到啊,这个所有的数,所有的字段,它都是T,它都是T,呃,那么这就意味着就是说我们初始化的这个数据啊,他给你创建了个索引,把这些数据啊,把这些裸的这些数据啊,都丢到这个ES里面了,他这个默认的话,它做了一个猜测啊,都是猜测的是这个,呃,文本型的啊,所以说它是T,它是文本型的字段,那很显然这个如果说都是文本型的话,那不方便于我们后期。
70:12
查询和使用啊,很显然的,你这个年代是吧,它不应该是这个文本型的,比如像这个卖了多少份这个游戏,它也不应该是文本型的啊,我们可能还要对它做运算的是吧,这个就不太合理了,或者做排序呢,是吧,然后包括这个评分是吧,那因此的话,我们就看到我们这个搜索引擎的话,我们初始化完了之后,我们要对它进行做第一步的操作,就是修改它的这个数据结构,Scheme,那实际上我们都知道ES本身的话,它是一个搜索平台嘛,它是一个scheme list的一个平台啊,你可以随时搜索,随时搜索你的,随随时修改你的这个数据结构啊,啊,你可以增加字段一个修改里面,呃数据类型。对吧,然后你这个是修改是即时生效的啊,啊,即使说你在这个搜修改的过程当中,你现在有搜索用户在线在访问你这个数据啊,那也无所谓啊,因为咱这个。
71:10
咱这个这个ES本身它就啊,它就是这么这么使用的啊,因此的话,我现在按照我这个课件里面的这个。嗯,按照我课件里面的这个这个这个描述啊,我会去修改一下啊,你可以看我这个课件里面都是啊很很。很很清晰的已经告诉你这个应该去怎么改了啊,这些用户啊,用户的啊,用户的评分啊,用户的打分是数字型的,然后还有一个这个。这个专家的评分是这个数字型的,然后我把这个三个字段修改成数字型的之后,不行,我还还觉得这个里面少了一个语言啊,我还想给它啊添加一个字段啊,添加一个字段,你看我们就是在初始化完了之后,这个思维引擎为了。
72:04
使用的更爽,那我们就需要调整它里面的字段的类型啊,并且给它增加我们需要的字段啊,比如说这个语言的话,它日文呢,英文呢还是中文啊,这个很重要啊,啊所以说我们把它,即使它没有数据啊,我们把它也初始化进来,我们先让这个里边有这个字段啊,Language有这个字段,那到此为止的话,我们就完成了我们这个架构的调整,调整完了以后啊,其实我这个添加完了以后啊,你发现它已经全都保存了,然后我们再过来,然后我们再看一下,确认我们这个啊修改的是不是都到位了啊,好了,我们这个修改就完成了,我们现在做的是一个对所有引擎触始化完了之后的一个调整,那接下来的话,我们需要调整的就是啊,你们会发现,诶,我们在做业务搜索的时候,哎,用户搜索的是这个产品的一些。呃,近义词啊,匹配的一些名称,那用户可能就他搜索这个这个近义词,或者说是搜索一些一些俗语,或者说一些,呃,产品的一些不是这官方的名称的时候,他可能就搜不到了,但如果说用户这么搜了以后。
73:19
呃,他其实想搜你的产品又搜不到,你给他出正确的结果的话,那这不就很尴尬,所以这个里边需要呃挑呃,需要去,这个怎么讲呢?需要去,假如咱们有一个搜索引擎,有了数据之后,我们需要去呃去体验的,或者说我们需要去这个愉悦的第一个。第一个这个这个障碍的话,就是同义词啊,就是同义有某一个产品的话,它是有好多同义词啊,比如说它这个搜索这个呃pokeman啊,搜索皮搜索皮卡丘,搜索这个皮卡。
74:02
皮卡丘是吧,其实它也它也对啊,它也对,皮卡丘它也对,但是它这个实际上只搜索出来啊一个啊搜索出来一个,但其他的那个宝宝可梦系列的游戏它都没有显示出来,那其实这就是一个问题,那我们现在如何去解决这个问题呢?其实就是把这个皮卡丘这个。同义词就是做一个同义词,就是相同产品的话,它可能有很多类似的名称,这都都可能会被用户常用到的,那我们就会需要把它做成一个同义词词典,那么其实你怎么知道用户去搜了,但是又没搜到结果呢?其实我们这边是有一个叫计数的功能的,你这个搜索引擎一旦上线了以后的话,我们这个搜索被用户去使用以后,这个技术功能的话,它其实被查询了多少次啊,被查询了多少次,然后24小时用户都查了哪些字段。
75:01
然后哪些字段被他点击了,哪些字段被狂查而没点击的,那其实这些都是作为API,一些事件会记录下来,那我们我就想说另外一个问题,就是说你的搜索引擎上线之后,这个用被用户怎么样去使用,那用户有没有很顺心的查到他的信息,这个你是不得而知的,这个F4就提供了这样一个API查询的一个log功能。也就是说你这个是APP色这个这个搜索引擎上线了以后的话,其实你可以在这边看出啊,当前24小时和七天之内的所有API的操作,那你从这个用户行为当中的话,再去帮你去判断,诶我的这个。这个是不是需要,刚才我这个是手工就测出来,就说哎,我需要建这么一个这个同义词嘛,但实际上在真正的业务运行过程当中的话,你其实还是通过用户的呃,线上的操作行为来帮你去。
76:02
分析通过这个平台的话,通过这个它提供的功能帮你去分析出来,可能会更靠谱一些啊,当然的话,这些同义词可能都是必要的一些同义词啊,我们来把它创建出来,点击这个同义词功能,创建同义词集啊,Po蒙啊,皮卡丘啊,这就是我们创建的同义词啊,那你可能还可以给他。添加其他更多的词,比如说皮卡丘,你可能还会再他给它创建啊,真正的那个中文的拼音的宝可梦啊。反正就是搜索这些关键关键的那都是应该得到相同的和的搜索结果,那我们的目标就实现了,那你什么时间该增加这些同义词呢?也就是刚才我也说到了,我们这个APP search提供的一个搜索引擎分析功能,那你可以去观察用户的行为来去让你的这个同义词集做的更加有效,更加准确,那让用户的话可以搜索就啊搜索起来就可以更爽嘛,那好了,我这个做好了啊,做好了来我测试一下,测试一下,那我现在再搜索搜索皮卡丘的话。
77:25
诶,你看我刚才搜索皮卡丘的时候,只有一条结果出来是吧,现在搜索皮卡丘的时候,把所有的pokemon啊,所有pokemon。啊,所有pokemon。也都给搜索出来啊,那有可能真的是你的这个数据的话,有可能真是拿英文的,拿中文的拼音做的这么一个产品目录呢,是吧,有可能你的数据跟我的数据不一样啊,那你可能还要把中文拼音的一些东西啊,一些一些这个。呃,游戏的名称可能也放进去可能会更好啊,当然当然你可以想啊,你这个这个同义词会去怎么在你的思维引擎当中去调整,好了,我们来看一下啊,我们这个搜索结果的话,就从这个字从字义上来讲。
78:15
皮卡从字义上来讲就符合我们的功能,那么我们现在从它的精确性上还要去调整,我们都知道ES里面你的搜索结果的话,它会有排序的,有个score,就这个全文检索了之后的话,它会给这个词条啊排序,有个score score这个排,这个分数高的话就在上面,分数低的话就在下面,那因此的话,我们。嗯,会发现你搜索不同的字段的话,它有可能我现在搜索的是这个呃名称啊,有可能我搜索的是呃呃。搜索的是别的字段,那这个不同的字段的话,在你的这个,呃,相同同一个关键字的话,它可能有可能出现在不同的字段里面,呃,有可能出在内部里面,有可能出现description里面啊,有可能出在描述里面,有可能你这是一个比较复杂的一条记录,那我如何提升它在不同字段里面的权重了,那这就是我们希望更加精细调调整的一个一个东西了啊,那我们这个,虽然我们这是一个。
79:21
我们说这个APP search是一个卡片机式的,就是不是就不是那么强大,像你直接手撸后台ES的这种啊,搜索引擎的构建方式啊,但它其实也给你提供了很多调教的能力,让你可以把你的搜索体验做的更好,那因此的话,我们现在需要去调整我们这个搜索结果,那我们希望呢,在这个global sales这个这个上面给它做一个function。就是让它这个权重提升啊,Function boost1,然后我们希望name的话,如果这个搜索关键字出现在name里的话,那如果name里面有这个关键字的话,那我们希望这一条的结果要乘以三,或者说我们wait要变成三,那我们先不去讲它这个weight和score的关系啊,那我们在这里的话,我们知道了,我们这个相关性调整的话,是对我们这个chema进一步的啊,精精细的一个调优,那因此的话,我们来到我们这个叫叫我们的。
80:27
相关性调整这边啊,相关性调整这边啊,我们依然可以来去搜一下我们的这个皮。卡。啊,我们希望的话,我们在调整的过程当中的话,我们这个排序啊,是得到了优化啊,因为现在我们这个就是我们现在能搜到的一个啊,一个结果啊,我们希望这个。呃,经过调优之后的话,它这个排序啊,它这个字段上下的这个顺序啊可以啊更优化,那因此的话,我们来调整三个字段,第一个字段的话我们去调整。
81:03
这个global sales啊,Function boost加一啊,我来看一下我是怎么操作的啊,点一下global,所以说这这样的话你也看到了,为什么要把global sales从text型转成number型啊,啊这都是跟我们后台的这个调后期的调整有关系,我们点击这个它有调,它提升的话,它有很多种方法,这个你可以去查文档,看每一种提升它是一个什么含义的提升,它合不合你的使用场景,那在今天这里的话,我们就不做。过多的描述啊,我们就是把它默认的提升叫函数啊,影响度一啊,那这样的话就完成了,对这个global sales这个。这个的调整,那同样的话,我们要完成对对name啊对的调整我们name的话,让他WAIT3啊,Name的WAIT3我们选到name,然后我们直接因为它T型的,所以说直接拉动这个滚动条。
82:05
你可看我在拉动的过程当中,我的搜索的结果已经发生了变化啊,因为我搜索的那个关键字的话,它就它就会它就出现在这个。你看它那个呃,它就出现在呃这个内,这个内幕的话,这个影响是比较大的,所以说我把它调整为三,把它调整为三啊,所以说这个就是我现在啊对大家权重相关性调优的一个过程啊,相关性调优的一个过程,然后调整完了以后的话,我们也可以看到我们现在呃这个结果是正常的,我们来点击保存,哎,这个就是完成了我对搜索引擎里边字段每一个字段这个相关度的调优啊,接下来的话,我们来去策略的展示。什么叫策略的展示呢?就是诶我们这么搜索下来的话,这个皮卡丘的话,有可能宝可梦的话,有可能最近的话被。
83:02
网络热搜了,就有的话,哪个明星的话是不是就出了。又出了什么,呃,又出了什么瓜了什么,这个就导致这个因为这个因为或者说是什么网络事件,就引起这个游戏突然间变成爆款了,大家都在全网到处搜刮,能呃这个游戏去买啊,所以说这个的话,就很有可能就是你就希望既然你这个商店里面有这一款游戏啊,你就。假如这款的话出现在很很下面的位置的话,那用户买起来就他可能只看一页啊,他看你这没有,他到别的店里去搜了,那因此的话,为了满足这种业务需求啊,也可能是你故意的啊,你故意就想把一些高利润的一些商品,或者说别人在你这个平台上付了广告费的商品,你就想给他提升到前面三个,或者提升到前面五个啊,有可能是你要适应促销,有可能是你故意的,有可能你牟利性质的,那你要把这个结果提升的话,你就需要这么去做,那我们现在目标是要把一款游戏啊叫pokeman ranger ds20006,这款游戏质地啊,我们首先的话,我们就要需要到策展里面去。
84:22
点击一个策展,我们策展的话,我们可以把它想做是一个什么呀,就是你的一个搜索的一个结果的一个,再次一个啊调教。点击继续。哎,你可以看他已经对我这个pokemon做搜索了,那因此的话,我要找到我做。然后提升它的位置啊,找到这款游戏,你看它就出现在现在出现在第几第几个呀,出现123,它出现在第四个,那我需要让它。提升啊,提升的话,我就把它往上点一下,点一下这个星啊,它就出现在这个结果当中第一位,那有可能的话,我看看是不是还有其他相似的跟这个游戏相关的,呃,提神的话他就上去了嘛,然后。
85:13
有可能啊,有可能我还需要对这个游戏,这个游戏很有可能是这个游戏厂商给我付了广告费了啊,所以说我要带着把它卖一下,因此的话,我会把这个游戏也把它提升一下,那甚至于说我在几条数据之间的话,我还可以对它进行排序。啊,那因此的话,我今天主要是要促销这个,然后并且要展示这个广告商给我提供的,呃呃,广告商的这个,或者说高利润的这个商品啊,因此的话,我会把这两条记录去做提升。那我们来去做一下测试,试一试啊测一下,试看我现在提升完之后是不是可以达到这个效果,好可猛哎,你看DS ranger在这儿了,然后battle revolution v22006就在第二位了,你看我就实现了提升的效果,那提升之后的话,你看这个就高的离谱了。
86:06
是吧,这个高就高的离谱了,那就不是一般的高了,所以说这个是一个作弊的方法,但是我们实现了我们的业务需求啊,当用户来搜这个的时候,我们就控制了这个搜索结果的一个提供。那因此的话我们就来啊,我们这个这个就是这个策展啊,这个就是这个商品置顶的功能,我们就实现了,那接下来的话,我们来做我们的这个,呃,接下来的话我们做我们的下一个功能啊,那我们认为的话,我们现在这个搜索引擎的一个基础的一个调教功能的话啊,就就做做的差不多了啊,你可以看我这边呢,做了很多个搜索啊,我这边搜索的话,呃,我这个需要有一些时间这个日志才能更新上来的啊,你可以看我点击查看分析啊,你可以看到我很多这个搜索关键字。他这个结果出现了多少次,被点击了多少次,这个结果就会这分,包括他分析的标签是什么样的,从哪儿什么什么来源来的啊呃,这个有没有点击,靠靠前的一些词,你可以看到我的这个APP search的话,没大家想的那么简单,你知道吗?这个东西的话,你用起来的话,其实它对你的这个持续的业务的这个改进是很有帮助的啊,你把这个所有界面提供给用户之后,那现在用户实际在搜的是是什么。
87:29
呃,你希望对它的搜索结果做什么样的调整,以匹配你最近一段时间的促销也好,你的一个商业的一个一个目标也好,那这个搜索用户行为的分析的话,你在这边是实时可以看到的,包括他的这个关键词的排名,点击的分析,你都可以在这边实时的可以去看到,而且刚才我说过了,你这些策展呀,这些同义词呀,因为咱是放在ES上去做搜索的,那你这个在日间,你在业务执行的过程当中的话,你都可以对它进行做优化。
88:02
啊,都可以引来做优化,因为我们这个数据啊,我们这个是都是一些stemme list的一些数据啊,你可以实时对业务进行做做优化啊,你可能这个日间的这个销售额你就上去了,那因此的话,我们来看到,那么现在认为我们现在对于我们。同义词策展,相关性调整,架构调整,我们一路下来的话,我们觉得我们这个啊,这个搜索界面的话,可以发布给用户去让用户去使用了,我们认为的话,我们可以,呃,在几个小时之内,我们就可以给用户提供一个搜索功能了,何乐而不为呢?是吧?呃,以前的话,我们做这个项目至少要拿周,要拿几周的时间去去发布啊,去开发啊,虽然你这个手撸的代码很好,当然如果说你这个一两个小时内你就能搞定一个搜索的功能,那这个这个何乐而不为呢?是吧,你这个这样做是不是也很也很香啊,那因此的话,我们来看一下,我们来,呃,在做这个搜索引擎之前,因为我们这个搜索引擎把这个UI做完的话,我们今天这个课程,就今天这个直播就结束了,然后呃,因为我们今天还会再讲最后一个功能啊,这个讲下去的话就讲完了,嗯,那么我们在结束今天这个最后一段这个内容之前啊啊,我也邀请大家在这个互。
89:21
重的地方啊,提一些问题啊,因为我们今天抽奖结束了,但我觉得比抽奖更有价值的是做一些问答,那经过今天这个整个的学习的话,你觉得哎,我们这个系统用起来有啊,你觉得有哪些问题啊,你觉得有哪些问题,或者说我在今天讲解过程当中的话,你觉得。还有哪些没有讲到你感兴趣的啊,你可以在今天结束之前啊。来去,呃,在聊天室里面啊,就把你的问题挑抛出来,我们争取在今天最后一段这个功能讲完之后的话,然后在最后的话再把大家的问题都进行解答啊,我觉得这个你提出问题的话,我给你做回答的话,比比你抽奖可能更,呃更有意义啊好了,我们来今天做最后一部分的学习啊,今天最后一部分的学习,那我这个搜索引擎是不是都已经建好了,我这个调整了这么半天是吧,做了一大堆数据的这个调整是吧?我这个内部闭门造车,这个测来测去是吧?最终的话,你还是要给用户提供一个界面的是吧?那这个提供一个什么样的一个搜索界面呢?那这也是我们比较关心的啊,就是真的是很多的搜索的话,呃,也有可能你这样一个搜索的界面就足够用了啊,那我们这个搜索界面的话,刚才我也讲过了,它是一个react构建出来的一个搜索引擎啊,它是一个开源的一个代码的一个库。
90:48
那这个开源的一个代码的库的话,是大家可以去拿它做例子去,呃,或者说你把它folk走了以后,你可以去构建你自己的这个搜索界面的,那我们今天的话会来去啊,你可以以后详细去看这个库啊。
91:06
想要去看这个库,那么的话,我们来看一下啊,这个搜索界面上的话,我们来去我们来去调整啊,我们来去调整啊,我们来去调整,然后我们我们来去调整,然后我们现在就来构建一个这个我们的这个搜索功能啊,然后我们去创建一个叫搜索界面的东西啊,创建一个搜索界面东西,然后我其实就是在搜索UI里面去把我要搜的条件这些词呢,把它选出来。选出来就可以了,好了,我们来在我这个搜索这边来调一下啊,我会按照我这个课件去弄啊,大家跟保证大家的跟大家的操作是一致的啊,首先的话,在这边的话,我第一个的话,我还是希望他搜的是name。他首先的话,他是搜的是name,就是呃,当然的话,我我可能description上其他所有的都给他搜了,但我我我我知道他上来的可能就是搜的是name,然后其对用户对结果在做做做筛选的时候,因为我们这个游戏嘛,所以说他对这个platform还是比较关心的,还是V的还是DS的还是。
92:16
还是还是。还是啊。还是playstation的是吧,这都不同的platform对吧,然后这边的话它是有一些呃。那他可能要去看排序啊,看排序,比如这个这个评分啊,一些排序啊,他可能要有一些URL。URL的话,我们把它选成image,呃缩列图的话,这个我也把成这个image,这个URL的话,其实是呃,你要点击之后让他去跳转的那个位置啊,因为你因为刚才说了嘛,这是一个什么啊,这是一个产品目录来着是吧,那这个产品目录对应的话,可能有他购买的一个呃位置啊购买的位置,然后这个是缩略图啊,这缩略图,所以说我们现在呃想让他缩略图的话,是是这个字段,然后因为我们现在没有这个商品的购买的那个ul啊,它是在哪个地方下单对吧,在哪个地方下的,其实我们是非常关心他的啊,因为搜索出来点击下单了,这个所作为一个电子商务网站,这个这个才对你来讲有有意义啊,那我们今天的话,按照我们今天这个。
93:29
直播课程的学习的话啊,按照我们直播的课程学习的话,我们只是做一个演示啊,做一个演示,然后点击这个生成。搜索体验啊。这实际上就打开了一个我们的这个搜索的界面的,其实就是选完之后的话,那用户看到的是什么样。因为他已经给你内置了一个模板型的一个实现,那刚才讲了这个模板。实际上他往这个模板里面加了好多参数嘛,这是一个react里面的javascript的一些客户端嘛,他他把他这个搜索引擎的一些参数其实都加的都都都呃给你你点呃,就他这个程序嘛,他就给你替换到这个模模板里了,那这个模板的话,在他现在这个。
94:15
Enterpr search这个平台上就可以运行了啊,就可以去运行了,那因此的话,我们第一步的话就设置我们这个搜索引擎,想生成出来的,一是搜哪些字段,搜了图在哪,完了点一下,你看它还是。啊,挺忙活的,他他工作半天啊,他工作半天去给你把这个界面生成出来,你把这个界面生成出来,生成出来,并且加载到这个啊,加载到这个浏览器里面。啊,这个地方的话反而get up,今天有点卡哦,这个地方的话就是它模板的位置啊,你觉得它这个项目不错的话,你也可以给他提一些建议啊,提一些PR,提些一售都可以啊,因为这都是一个开源的项目啊,大家都可以去去参与一下。
95:00
那这个运行的话还是,诶诶你看其实我为啥今天这么选呢?其实我刚才我课件里没那么啊,其实这个就是跟大家交互啊,你大家问到这个问题了,其实我也是来你看啊内置的搜索界面图片是啊如何展示,想看一下效果是吧,这个就是效果,你会发现它这个是一个挺。啊,挺苍白的一个界面啊,那这个苍白的界面,假如你内部的一个应用搜索的话,它的业它的搜索的,假如内部的一个业务的搜索,然后内部的话就二三十个人,那可能这个界面也就够了,是吧是吧,能够用就行,然后有可能你这个。是一个对外的啊,讲究你这个风格样式,那你就需要对它做加工了,那今天这个你怎么对它做啊,风格的这个修改和加工呢,就是你点击这个。Download zip。就你看到的这个东西,其实就是已经可用的一堆的啊,这个它是一个react的一个一个项目啊,它是一个项目,你就可以把它下载回来了,你知道吗?你把它下载回来之后的话,你有两种方法,一个方法就是你把它就直接。
96:18
直接那个啥了就。诶这诶这啥意思啊。呃,就是你可以去去可以去去修改它。可以去基于你下载到的这个东西去修改它,你修改的东西的话,会会是啊一个符合你的审美的,或者说你把它这个东西就嵌到你的现在已有的项目啊,作为一个拈块去交付了,因为你要给用户交付的一个是是一个什么是一个搜索功能嘛,是一个搜索功能,所以说的话,这个这个你下载到的东西什么样的,这个你我相信大家都是跟我同步的啊,你现在也以把它打开到你本机去看一下啊,就是这么一个东西啊,就这么一个东西,那你可以把它直接嵌入到你现在的项目里面,也有可能你把它呃发布出来啊,作为独立的一个项目去做,那我们现在既然已经看到了这个用户的搜索界面之后的话,那可能可能我们想,诶这个用户搜索的话,它会。
97:25
哎,看一下他的评分的一个正排序啊,评分的一个倒排序。然后或者是我不要他这个评分的排序可能在这里面在是X。Xbox的哎,还是这个PC的啊,不同平台的哎,你可以发现你这个界面的话,用户起来,用户用起来还是完全。用户用起来还是完全啊可用的,那基于此的话,我们现在就可以啊,就可以去这个啊,就可以去正常的使用我这个界面了啊。
98:02
啊,然后再回到我的课件,啊,回到我的课件,然后。我的课见,呃,在这个界面里面的话,我还可以做一下搜索啊,做一下搜索,比如说模拟一个用户的搜索po可梦你可以看啊,我在输抛个猛的时候,他连这个,呃,他连这个就是随着你的输入给用户做这个做这个。呃,这叫这叫什么,随着你的输入提示都有。那这个功能的话也是不需要你去开发的,对吗?那这个用户这个显然对于用户来讲也是非常重要的,对吧,有的用户可能就是拼不对呀,是吧,比如说我在一个皮卡。啊,皮卡丘,那其实你看我看到的游戏。
99:00
啊,看到的游戏是是不是我刚才已经提升过的。我去。可能。我刚才是对这个po这个关键词做提升的,对吧,然后我这个是range是第一款,然后我故意提升了一个可能不相干的一个一个产品这第二款,然后你看它也有点击的,点击了以后跳转,那因为我现在没有带网址的字段嘛,我都把它都都弄成它这个缩略图做跳转了,你看这都是用户的反应,现在我是模拟用户在操作你的这个界面,你知道吗?那这些用户的点击的话,都被记后台记录下来,对吧,我这已经点了对吗?然后我们再到我们的搜索引擎里面去看,所以我再给大家强调一下,你这个搜索体验的优化,不是说你把这个。界面扔到那就不管了,而是说你这个界面在你的用户使用过程当中,你都可以反过头来再去调教,再去分析的,你可以看我,你要知道你这个搜索,搜索里面哪些关键字排名排序高啊,哪些关键字被点击的次数高。
100:19
那这跟你的业务有没有什么关系啊,查询的排名,那这些都是你的非常,这这才是你输入引擎的价值了,对吧,我们不希望你说你这个做了一个思维引擎,这个用户到底怎么使用的啊,你不知道啊,你也无法给这个业务人员给出相应的这个业分析的报告,那用户到底对哪个点击了,对哪个搜索哪个查看了,那这个其实是很重要的,这个会反映到你会再去回过头来就去调整你的架构啊。调整你的这个相关性啊,同义词啊,策展,那这些东西都是你这个动态的,那如果说你是这么做一个搜索引擎的话,你相信的话,我相信你的话,你甚至于说可以把这些调整啊,你看这个界面是非常容易使用的,你把这个优化好了以后,可能这些东西都可以直接丢给业务人员去了,因为这个东西太容易理解了呀,这业务人员的话,他想让用户怎么搜,他想做什么策展,那其实你这个对你来讲,你的这个开发工作就完成了,你就把这个界面丢给业务人员就行了啊,除非他以后同步数据啊,做大的调整和改,改动了可能来找到你这个开发人员再去干。
101:28
再去搞一搞,那除此之外的话,像这些东西,它都是一个普通的业务人员都可以来去做操作和调整的,那好了,我们来看,再回到我们这个课件啊,回到我们这个课件,我们的课件在在什么位置啊,在这边。呃。诶。我的这个窗口还背回到我的这个课件,呃,那我在今天讲最后一点啊,今天讲最后一点,首先的话,我们刚才得到了这个压缩包啊,得到这个压缩包,这个压缩包的话,我给大家留一个课后作业啊。
102:17
这个压缩包的话,实际上是一个note JS的一个一个程序,它是一个半成品,我希望大家做一个客户作业啊,你就可以在你的呃一个开发机上,你把它解压缩以后的话,在这个目录当中的话。去做n PM install,然后因为这个压缩包是一个node GS开发环境嘛,然后做完noe install之后你做。啊,你去让它运行啊,N PM start运行,你会在本机做这个,你会在本机。做这个叫做这个搜索体验,就在本机去测试,在本机,我我现在是在这个。
103:03
以来安这个平台上去做这个平台上去做这个搜索体验的测测试嘛,因为你现在要发布这个。这个搜索的拈出去,然后你又有这个全套的代码,其实你需要在本机去对它进行测试啊,对它进行验证,对它进行调整,以调整出这个用户啊所需要的一个搜索体验,因为因为它是一个啊,怎么讲呢,还是它还是一个草稿,你把它调整好了以后的话,你run一个build run一个build完了之后,你会发现它这边在build目录里面,它出了一堆静态的HTML代码,你长我建议大家你把它这个build目录里面的东西呢,部署到一个NJ或者你任意的一个web服务器上去。然后你在一个web服务器上去,然后再去体验你这个build完了之后的结果,那这个是一个搜索引擎,这个是一个我们刚才说的这个用户搜索体验。
104:10
的完整的生命周期啊的完整的生命生命周期,因为你这个build出来的东西的话,它就是一堆静态的HTML页面了,那你是不是还可以匹配一下,让他可以在APP里面,可以在手机,可以在各种啊mobile上去使用呢?那这个就是你在。去调教这个目录里面的代码的时候,你要做的工作了,那最终的话,你build完之后,这边就多了一个目录,就build一个目录,这个目录里面是一堆的啊静态的文件,这个文件的话就是最终你的生产版本的搜索体验,这就是一个。啊,我们刚才说的是用户端的一个UIUI可是浏览器使用,或者说可以把它嵌到。你的微信的小程序里面,或者说任何你想让用户搜到东西的地方。
105:03
好了,我们今天这个工作坊就结束了,我们来总结一下啊。啊,我们实际上安装和部署了,安装和部署了enterprise search这个这个服务。Enterprise search这个服务是基于as sta这个技术站之上的一个打包的一个应用平台,那这个应用平台的话,我们在这个应用平台里面实现了一个游戏产品搜索的一个功能。这个游戏搜索产品搜索的功能的话,从这个引擎的构建,初始化到界面的提供,里面字段的调教,内容的排序。业务的提升都是我们在这个平台上去。通过界面点击的操作完成的,我们没有做任何一个编码啊,没有做任何一个,不说编码不需要啊,刚才我说了,你去优化这个界面的时候,你去优化这个代码的时候,你是需要前端的编程的能力。
106:00
然后把它调整到你一个可以发布的状态,然后你才把它丢出去去发布的,那么这是一个整个的一个整个的一个生命周期啊,那为了更进一步的,如果你想去。去体验我们的那个workplace的话。啊,你想体验设施的话,你可以啊,参考我的这篇博客文章啊。啊,你可以。我这个博客文章写的时候,这个workplace search和enterprise search还没有整合在一起呢,但这个整个这个配置过程的话,已经可以指导大家帮你做去做这个workplace search的。啊,这个研究了啊,我我建议大家的话也可以。呃,基于今天的这个部署啊,你可以去对接一下你公司的这个GIHUB的数据源啊,对接一下你们gira的数据啊,G gira的数据源或者说的服务器啊,对接一下啊,那么这样的话,你就可以完成了我们完整的这个。
107:03
Search的一个搜索体验当中的一环啊,你也可以创建一个网页爬虫的搜索引擎,去抓取你公司内部的网站或你自己的blog,并且把那个搜索引擎创建出一个这个搜索UI出来,这边我也给大家稍微点击一下啊,你可以在这边呃,再点击创建一个搜索引擎,这个比如说就是一个search。然后你可以呃,搜索擎创建出来之后,你看使用网络爬虫,给他一个叫,比如说给他一个就是网址,给他一个网址啊,他就可以开始去做这个爬虫的这个动作了啊,去做这个爬虫的动作了。啊,那所以说他会把那个网站里的那些东西都爬回来啊,都爬回来你可以添加一个域,也可以添加多个域啊是吧,这个我们就你可以看它这个爬虫肯定是已经开始工作了,肯定已经开始工作了。
108:00
啊。你看他已经把这个域加进去了,他已经开始去工作了,可能会把我这个blog里面的,呃呃。文章都都扒一遍啊,都扒一遍回来,那你也可以同样的诶。待会你就可以看到他有多少篇文章被呃扒过来了,然后呃,你也可以对他这个创建这个结果去做调整啊,做调整啊,这个不是我们今天所呃讲的一个要点啊,然后我们再回到我们的这个课件啊。我们今天就完成了今天的所有的学习吧。今天就是。完成了我们今天这个所有的学习啊,完成了今天的所有学习,然后这两留给大家留两个家庭作业啊,你去完整的创建一次爬虫的所有引擎啊,你去尝试把你的workplace search的话,也基于今天这个部署啊,把github和这个和Java的数据源也可以也可以增加进来,然后我们来完成我们最后今天最后一部分动作啊,就是看一下我们的这个还有一些什么问题啊,大家是不是还问了一些什么问题,如果你还有别的问题的话,也欢迎大家来去啊,来去大家提问啊。
109:13
啊,还有一个问题就是今天的单机的部署方式,如果是集群化的部署到APP测试的性能如何,它是如何分配资源的,然后我们通过配置还有哪些空间可以去优化啊,这个问题问的比较复杂啊,刚才我说了,我们今天是单机的部署方式,所有的东西都部署在同一台机器上,如果你像集群的方式部署的话,你可以看一下enterprise search的一个部署的文档啊,呃,这个enterprise search这个软件包的话,是可以呃独立去安装和配置的,然后多个呃enterprise search的服务器可以配置成一个集群啊,实现你这个搜索性能的一个需求啊,搜索一个性能,你可以发现enterprise search本身的话,它。只是提供了一些一些API啊,就提供了一个数据同步API,然后对外呃数据,假如你有搜索UI了,然后他要去搜索了,他会呃发这个搜索指令到你这边,然后最终检索出结果,然后返回给用户,所以这个这个资源的优化的话,我觉得优化的空间就在于说你要呃看到你这个实际上用户他搜索的一个速度和效率,然后假如他延迟,或者说他呃搜索的这个有缓慢出现了,然后你可能去修改你这个enterprise search这个部署集群的啊资源调整它的一个。
110:32
情况,呃,然后的话,没有别的问题的话,我就再等两分钟啊,等两分钟,如果说大家还有什么问题的话,最后给大家两分钟提问的啊时间,然后如果说大家没有问题的话,我们今天非常幸运啊,我们今天在两两小时之内就搞定了我们这个。啊,这个企业搜索的这个。这个工作坊啊,最后三分钟,呃,给大家提问的时间啊。
111:08
如果大家有什么问题的话,可以在这个。搜索框里面,呃,这个问问这个交互里面可以告诉我。没问题的话,我们就会在三点半啊,准点今天就结束。然后今天这个。今天这个直播的话,也是做了录录屏的啊,啊也是做了录屏的,然后我就呃建议大家呃,一定啊记住我们这个课件的位置啊,我们这课件的位置就在这个位置啊,记住我们的课件的这个位置,把这个课件呢,可以分享给你的同事啊,将你的这个今天的学习的结果呢,也跟你们的同事去做一个分享。
112:08
啊。呃,然后的话,把你这个搜索搜索体验啊,搜索功能的这个这个构建呀,理解透彻,呃,那么在必要的时候啊,就可以使用enterprise search这个这个平台啊啊完成你的一些业务需求,完成业务需求。你看我们这个爬虫的话,是开始在爬我那个了。应该他这个操作还没。做完。嗯,我还看不见文档的数量,它这个还是在。还是在爬行当中。
113:06
我们还最后一分钟,要没有问题的话,我们今天就会三点半准时结束,嗯,我待会儿会把中奖朋友的ID会去告诉我们的,这个今天直播的,呃,互动的助手啊,我们这个腾讯云的运营的同学。那么最后的话,腾讯云的这个同学的话,会按照这个ID去联系到你啊,这个ID去联系到你,然后会会这个啊给你们快递这个奖品,然后还有最后一个问题啊,爬虫数据源是不是只有简单的页面的解析,是否能通过插件之类的自定义的方式爬自己的这个啊爬虫,呃,这个我觉得的话。简单的页面的解析啊。
114:00
我觉得它这个爬呃爬虫的话,其实它也有很多呃自定义的一个呃空间在里面啊,我觉得它也可以给你实现很多你的期望的一个。我不确定它有很强的解析能力啊,啊,但是最终的话,爬爬出来一个数据结构给你,然后对这个结构可以进行同样的调校,这个是确定的啊,这个是确定的啊,那最后的话。你如果想更详细的去了解这个爬虫的一个效果和行为的话,我建议还是既然都有这个基础了,你可以测一下,测一下更多的可以再参考一下我们的相关的官方的文档。好了,这个可能我卡就卡了吧,今天咱们这个整个的直播也结束了啊,最后的话感谢大家的参与啊,最后最后感谢大家的参与啊,希望以后大家可以啊搜索的啊,可以更开心的搜索啊,更容易更轻松的使用enterpr设施去构建咱们的搜索功能,然感谢大家的参与啊,我们今天就啊,今天这个学习就结束啊,我现在会停止我们的直播,好谢谢大家的参与啊,再见。
我来说两句