00:00
假如说啊,同学们现在呢,我这个项目啊,对已经运行了啊,项目运行了,然后后来呢,我这里边有一个新的网络词汇,对,原来我的词库里没有啊原来词汇里没有,然后现在呢,我需要把它加入到我的分词器里面去,对吧?那么这个事大家想一想谁去做?就我现在原来我这个词库里没有咱们现在一个网络新词对吧,没有咱们这个网络新词对吧,然后呢,现在我需要把它加进来。比如说S卡对吧,现在没有,原来没有,我现在需要把它加进来对吧,那你说我现在如果要加的话,那谁去做这个事呢。运营人员。开发开发人员,大数据谁去做?啊。比如说咱们现在我这个网站里边新上了一个商品,对吧,原来商品呢,对吧,这可能对没有对吧,没有啊,后来是自己研发的,对一个生发产品对吧,然后现在呢,在咱们这里,我需要搜索的时候,把它搜索出来,你们觉得谁把这个东西维护到咱们现在这个词库里边去。
01:08
汉语言文学家,是不是你们公司得有谁去维护呢?一般应该是运营人员做这个事吗?对吧,那你到作为大数据开发的员说,其实这个事很简单,你登录咱们服务器,然后呢,到咱们现在PWD到这个目录下面,然后其中呢有一个文件,这个文件叫什么呢?这个文件叫什么?把那个main word test,然后你直接在咱们这里面摁个N,然后把它往里放,对吧,就行了。对吧,这个运营人员不打死你对吧,你想想一般运营员做不了这个事了,对吧?但是你说我现在不让他们去干,然后我自己去做,每次他们有什么需求了,我现在我就上一新产品,以前咱们字里面没有,怎么搜索都搜索不到呢,对吧?你得给我加东西对吧,你得给我加单关键字对吧,你给我加关键字对我才能把它搜索到,就是我现在如果说有以前词库里没有,咱们是不是我在搜索的时候它会有影响呀,有可能你上面查不出来呀,对吧?所以说人运这个运营人员肯定得找你对吧,那你不能每次在找的时候,我就我就给你操作一下,我这不行,咱们能不能给开发一个功能,你要想添加新词,你登录到这的网站上去,对吧,然后呢,你直接在网站里面,比如说啊,你登录在一个浏览器,然后在这里边呢,给你一个文本框,然后接下来这里有个按钮,对吧,你假如说现在想添加什么S卡往里边一放,然后一点添加OK了,直接就把这个东西放到我们这个短的文件里边了。
02:30
对吧,那这个是不是就和咱们没关系了呀,对吧?所以说啊,那么正常情况下,如果说我现在呢,要是想去添加一个新词的话,那么这会儿一般呢,我本地指定的情情况呢,并不多,除非一开始你们再去启动我的ES的时候,对吧?那么就已经确定了我有些啊,哪些词我需要额外去维护一下,已经确定了哪些词咱们原来在我的IK中没有,那这个时候你可能使用本地库,对吧?但是如果说你想动态的让运营人员增加的话,那么一般呢,应该是这种架构对吧?运种架构是什么呢?我现在啊,给运营人员提供一个功能对吧?提供一个功能,这个功能呢,可能是我这账号开发的对吧,可能是账号开发的对吧,那么这个功能它是干什么的?它就是我们现在的一个分次管理界面,对就这个东西,你可以理解就这个网页,然后呢,一进去,然后你让运营人员把要添加的词放到咱们当前的文本框里边,然后1.1个按钮添加,那么这个时候。
03:31
分词就进来了,但这分子一定要保存文件里边,不一定啊同学们,我现在这个东西我也可以在哪呢?比如说我现在把这个分词管理到哪呢?管理到MY搜狗数据库里面去了啊,我把当前的分子啊管理到MY思L数据库里面去了,对吧,说老师那我现在拿的时候怎么拿呢?你以来资料在查询的时候,你不需要这个分子,这个分子器吗?你不需要这个子库吗?啊,那我可以你再给我开发一个功能了,对吧?这个功能干什么呢?这个功能就是到我们现在买搜Q数据库里边都把我们现在管理的分词给查出来,这个不一定是买SQ啊,有可能什么呢?有可能。
04:09
对,有可能对,那我现在呢,我要想用的话,我需要去这里查,怎么查呢?我完全可以通过一个功能,对吧,比如说哎,你现在啊,我有一个对你写一个spring BOO写一个你给我提供一个接口,这个接口的功能是干什么的,就是到我们现在这里把这数据给查出来,给我们的来search没问题吧,同学们。就你想我现在这里边一个运营人员往这里维护,然后呢,我ES我从这里来取对吧,那么这里呢,我们模拟一下啊,提的东西,我们不能给运营专员写一个这个界面,那模拟什么呢?刚才咱们ES在查询我们现在这个这个词库的时候,是不是直接从本地文件里面查询啊,我现在想换一个地方,不从本地文件查了,从哪呢?我从某一个网络端口里边来查。这个东西我不从咱本地文件里边查了,我去访问某一个网络端口,对吧,然后一访问这个网络端口,你就可以把咱们现在这个词对有哪些对吧,你新加的我可以查到。
05:09
那如果这样的话,同学们,那咱们现在那就得想一想呢,对吧,你要想从网络端口里边查,那么咱们怎么来配置一下呢?你是不是得告诉elect search这个网络端口在哪啊,你去哪查呀,怎么告诉呢?其中在咱们elect search里面有一个配置文件,这个配置文件叫IP and ler点进去对吧,刚才咱们在这里配过东西,同学们,咱们配的是什么不?用户在这里可以配置自己的扩展字典呀,用户可以在这里配置。远程扩展字典,那刚才这个是不是本地的扩展字典,这个东西是不是远程了,对吧?那所以说呢,那咱们现在可以想办法啊,那么在这里本地的我不拿了,比如说我现在在这里本地的这个我注释掉了啊,本地这个我注释掉了,然后接下来这个呢,这个停止词呢,我也给注释一下,对吧?那我要从哪来获取呢?我要从咱们现在这里来获取啊,从咱们这里边来获取什么呢?我现在啊要配一个远程地址在这。
06:13
远程地址在这,那么如果要是你要想通过远程去访问咱们这这个资源的话,那你想你这个东西是不是得配置到远程服务器上,那这个时候你得需要一个外部服务器。你们现在接触外部服务器都有哪些?Tomcad还有别的吗?NG是不是也是啊,对吧,咱们这前两天刚讲的N呀,对吧?所以说我现在呢,其实除了tomcad之外还有一个N,那么tomcad呀,咱们在spring的时候,我们用过它内嵌这个tomcad对吧?那我现在呢,我就来一个简单的什么呢?Inies,我可以把我现在啊这个词库放在哪呢?放在我们现在这个inies服务器的,对吧?然后接下来,那么我现在inies给你提供一个这样的一个文件,然后你在这里通过网络端口去访问我们的NDS来模拟咱们这套流程。
07:03
啊,就正常情况下,咱们这个数据应该谁应该是运维人员往这里边来维护的,咱们现在呢,在这里把它模拟一下啊,模拟从远程来访问我们这个词库啊模拟从远程来访问这词库,那这里就得涉及到对N这的一个配置了,对吧?那如果说我现在呢,要想去配的话,这个东西怎么来配呢?啊这东西怎么来配呢。来是吧,那么咱们现在把这个东西改一改,你要想访问咱们ND对吧,你要想访ind,那应该是HTDP啊为HTTP,然后冒号啊,那接下来咱们这里是得告诉我N在哪台机器上呀,咱们N在哪呢?它对吧202对吧,多少号多少八零嘛,那你是给发送个请求啊,对吧,那你说你发送APP log是不不太合适对吧,那他发送什么呢?比如说分词。
08:02
啊,我现在给你发送一个分子请求对吧,那么到时候呢,你就把这个数据给我就行了啊,我现在呢,在这里啊,发送分子请求对吧?到你把数据给我对吧?哎,那么咱们在分子的时候,那大家想一想,那你这里你光靠着分子不行啊,你是不是得去找个文件啊,比如找my word.t我希望啊,咱们可以到我们这个网络端口上,然后呢,去找到我们现在这个文件,其实这是模拟文件,但其实呢,我实际你可以去通过这端口来获取数据的,对吧?我比如说我现在就是文件了,对吧?那你都是得去ND找这个文件。好了,那么这块呢,是关于我们现在啊它的一个配置,我要到NG的上去找这个文件啊,那么如果你在这里啊,这么配的话,我把这个地址呢,复制过来啊,暂时呢,先放在这里啊,暂时我先把它放在这里啊,这个我要到NG去找,对,那接下来那你得去改NG的配置吧,那来到现在ES停没填SQGPSES来stop,行啊把停掉对吧,然后接下来那么你这里呢,你要去分发一下文件啊,XXYC对吧,分发什么呢?分发咱们这个IK对吧,他去我们这ND获取数据对吧?然后接下来那么咱们就来到我们这个o VG model nd下边,然后接下来到它的Co目录下边。
09:29
对吧?然后去找谁呢?是不是去找咱们现在有个ns Co呀,对吧?来去找我们的n Co配置文件对吧?那么这里大家想想咱们应该配些什么东西呢?啊,应该配什么东西,你是不是得配咱们这个路径对我们现在请求进行拦截呀,对吧?怎么去拦截呢?是不是应该有个location的配置呀,来location在哪了呢?Server里边对吧?那就来往下走,找到谁呢?找到咱们这个server对吧?然后接下来在我们这个server里边把去找谁呢?把它配置一个location,那么这个时候你要拦截的是不是应该是我们一个分词,这就只要啊你当前这里包含分子对吧?那么这个时候我就可以把它拦截到,那么拦截到之后,那你要干什么呢?你说把它交给对谁去处理啊,你说这个时候用这种方式合适啊,还是这种方式合适。
10:23
其实上面这个是不是可以搞定了,咱们现在是不是不需要做什么反向代理呀,对吧?那所以说我当你拦截到分子请求之后,我就让你到咱们现在某一个目录下面去找,大家想一想,这个root是固定的,代表的是,哎,我向来截请求,你到哪个目录下找资源,原来咱们这杠的话,是不是到我们柱子下面去找HTML啊,那我这里你到柱子下面去找ES,对吧,然后接下来那我就完事了呗。都完事了对吧?那么如果说你到ES上去找资源的话,那么这个时候他找的是谁呢?对,大家想一想,我现在在这里啊,你再来到我的点点到ND上面,那目前你是不是没有ND,没有ES的目录,所以说咱们现在呢,MKDR,你是得把ES给创建一下,对吧?那么当我现在发送请求的时候,同学们,那么如果说哎,我这个请求啊,是这样的,那么他会被谁呢?他被咱们location,然后杠咱们得分词给拦住,到拦住之后干什么呢?拦住之后他告诉你,你呀,这个资源我有,你到哪去找,你到ES里面去找。
11:31
那我现在到ES里边找了,找谁呢?你这啥也没有,那你说我我现在这里找谁?同学们我给他说过,我们现在N他处理你的请求吗?他不处理,他只负责把这请求拿过来,是不是交给咱们现在的这个什么反向代理服器或者什么呀,对吧?那也就是说我现在N件本身也是一样,对吧?他只是把请求接收到,然后呢,到咱们这里去找这个资源,对吧?那么怎么去找呢?ES下面,那你看你这个请求是谁,我请求是不是它呀,那你是不是在ES下面,你应该有这个分词呀,你是不是应该有这个下面这个文件呀,所以说那我现在到ES里边找了,找谁呢?我请求资源路径是分词,然后my word test,所以说你在ES下边进入到ES里边,那么应该再去创建一个目录叫分词,然后接下来进入到咱分词里边,你应该创建一个文件,这叫什么呀,叫my word test啊,然后接下来在这里我们呢,把我们这个蓝受啊。
12:32
啊,然后呢,蓝守相攻对吧?给他对这个保存一下啊,给他保存一下好的,那这样的话,咱们现在呢,这个东西啊,这个NG里面有了对吧,这个时候ND有了对吧?那么NG有了之后呢,那么咱们现在就得看一看了呗,对吧,那我现在呢,啊在这里直接对吧。启动一下吧,这个是o BT model,咱们的ND,然后接下来下边对吧,有一个ND命令放s stop,这里先停止吧,对吧?那目前呢,咱们没有对吧?在这里没有,那没有的话,我直接是不是运行就可以了呀,对吧?那么启动我们现在NEX,那么启动完NEX之后呢,来看一看我当前NEX是不是启动成功了,对吧?我现在ND启动成功了吧,对吧?那么启动成功之后呢?那么你要看一看同学们,我现在能不能在浏览器里面访问ex,对吧?你现在不要通过这个地址去访问吗?你先自己看一看,能访问吗?来把这个东西CTRLC拿过来,然后接下来在咱们这里边CTRLV把这个把一块放一放,对吧?来访问看一看。
13:44
乱码是吧,乱码这个拿没拿到东西嘛,肯定拿到东西了嘛,对吧?乱码没关系,在咱们这里边啊查看对吧,然后文字编码对吧?在这儿啊,就如果说你要是别的标记,比如说你们现用谷歌的话,有可能啊,这个谷歌从呃是50几还是60版本,他在咱们页面不提供咱们这个编码的一个改编了,一般咱们的编码应该在什么时候指定呢?就你在往页面发送请求的时候,响应页面的时候,那你应该给我指定编码的方式,对吧?啊,那么谷歌的话,你可能诶在这里找不到我现在修改编码的地方,对吧?如果这个如果是咱们这个fairfox的话,那么你可以在这里去改变一下对吧?文字编码啊改变文字编码好,那咱现在这里边我是不是可以找到了呀,对吧,那它可以找到了,那么咱们现在呢,那就来呗,对吧,说明咱这网络地址啊,有我们现在它的一个分词器了,有有咱们词库了,对吧?那么接下来咱们呢,来到这里把谁记起来呢,是不是。
14:45
提我的ES了对吧?来我们现在呢,ES点二啊来这,然后大启动一下,那么启动完毕之后呢,咱们来到这里对吧?咱们启动完之后呢,来到这里来去刷新对吧?刷新稍等一下对吧?那大家想一想啊,咱们现在在这里vim或者K一下吧,OT model,然后呢,咱们eleven search,然后plugins下面AK有一个AK对。
15:23
Com com对吧?然后呢,有一个IK对吧?那这里咱们现在是不是已经把我们现在这个扩展词典对吧?已经给它指定远程了呀,本地是不是已经注释掉了呀,对吧?所以说如果是起作的话可以,如果是不起作的话,那咱们现在来这相互肯定不会分词的,对吧?咱来测试一下,看一看行不行对吧?来还是对我们的中文对吧,它得进行处理来那咱看一看啊,在这里我运行一下,大家看和刚才是不是一样对吧?然后在这里咱们运行一下对吧,是不是也实现它分存量对吧?那这个呢,其实就是我们这个自定义词库是吧?自定义词库是吧?通过什么呢?两种方式,一个呢是本地,那么另外一个呢是远程啊,那么远程呢,大家下一代做的时候对吧?那么N这当的是什么?当的是一个远程的服务器啊,当的远程服务器,你把这文件呢,放在远程服务器上对吧?大家比较容易出错地方就是咱们现在这个地址对吧?你在请求的时候,你是不是请求的是我们现在这个路径了,对吧。
16:24
那么怎么样个NG的挂起钩来,怎么个NG挂起钩来,对吧?大概套路这样的,首先第一件事,你现在要往这个呃,或或者要从咱们这个地址来去获取数据,那N截是不是得去拦截你的请求啊,对吧?怎么拦截咱们通过location来进行配置,那么拦截请求之后,我是不是得告诉人家我去哪可以拿到这个文件,怎么告诉这有个root,你告诉他你去咱们这个E上面就可以拿到,对你现在要请求的资源,我请求资源是谁呢?我请求的资源也直是他,对吧?所以说你在ES里边,你是不是应该创建一个分词这样的一个子目录,在分词下面你是不是应该有一个my word呀,对吧?哎,所以说整个呢,这是咱们现在它的一个流程,对吧?稍微休息一会儿啊,稍微休息。
我来说两句