00:00
前面我们测试了一下ES的一些基本增产改查操作,并且呢,我们导入了一些批量测试数据,那么接下来呢,我们就来进阶我们这个检索里边的一些高级用法,那前面呢,我把这个讯机我重启了一下,现在我重新连进来,当然我来,嗯,给大家检查一下速度,Doer PS,我们来看一下正在运行的容器,我安装的ES和K班呢没有启动,那是由于我们在安装的这个ES和K班呢,它不是自动启动的,所以我每次呢启动一下虚拟机,我们都得手工把它再启动一遍,我们来看一下杠A这两个呢是停止的,那我们就可以来手工的把它启动一下速度。那这个do。Start,我们现在要启动这两个,一个是847,一个是84C,我们就可以同时给它都启动84C和847。包括呢,为了方便我们让他后来呢,都要经常自自己启动,那么就来速度,我们用docker update,你去来更新,更新谁呢,我们让84C84C,然后。
01:05
杠杠,Restart等于always,我们让它呢,每次都自己来重启就行了,好。同样的847也一样,这样以后我们只要重启虚拟机,我们的这两个东西呢,都会自动重启好,把这一块呢先设置好,接下来我们就来看一下我们的这个ES,我来刷新,那重启成功呢,还得稍等一会儿再来刷新一下。那这一块呢,我们这个就重启OK了,包括我们的K班呢,我再来刷新一下,我们重启过以后呢,我们这个K班呢,也得稍等一会儿,那我们可以先来检查一下我们K班那有没有启动成功们经常要操作,我们就直接切到root用户viant密码好,然后呢,我们来用doer PS doer PS。我们现在正在运行的caan search都OK了,好,我再来刷新。
02:04
还是进入我们之前的这个控制台,我们以前操作的所有东西,即使K班的重启呢,我们这儿都有记录啊,我们直接ctrl end,我们来在最后来准备测试我们的一些新操作。接下来我们就来测试我们这个查询,那所有的这些操作我们都应该参照官方文档来到search,这有一个学习文档。我们这个文档呢,我们来参照search,它是一个存储检索和这个数据分析引擎,我们来参照7.5的文档,直接点进来。我们版本呢是7.4,在这呢可以切换7.x,那都是一样的文档,好在这个文档里边呢,入门我们就看这个getting start,我们快速开始,这还有ES的介绍,在这个介绍里边呢,就讲了ES的一些基本概念,比如文档以及索引这些东西,然后我们就来看快速的开始。这一个叫start,我们来。
03:00
开始检索。那我们想要在ES中检索数据,我们就可以像这样一样发送请求,比如我们来发送get请求杠bank,那就是检索银行下的这些数据,我们直接杠四是代表我们去检索,要按照什么样的检索规则,那下边呢,会有一个我们这个检索的请求体,而实际上呢,我们说ES啊,它支持我们这两种方式的检索,第一种呢,是我们通过request请求,我们发送咱们这个请求参数,比如将我们这些检索的参数直接放在请求路径的后边,第二个呢,是发送一个检索的这个请求体,举一个例子。我们的第一种,我把这个复制过来,CTRLC。我们来到我们的Kan里边,好,来到控制台,我们来测试,来直接运行,那它这个意思呢,Get,那就是发get请求进行检索,Bank在银行这个索引下杠search,这是固定写法,我们要检索银行下边的东西,问号,那就是我们所有的检索条件,Q等于芯,意思就是查询所有and sort等于account number冒号as sc就是说我们查询到的所有数据,排序规则呢,那就是按照account number我们的账号进行升序排列,所以我们最终查出来呢,就长这样子,那整个结果呢,是一个大对象,这个对象里边呢,我来缩一下,好,我们把能缩的我们都一缩,现在长成这样,PO58,那就花费了我们58毫秒。timeout没有超时啥子,这是来解释我们在集群情况下,每一个分片都为这些检索做了什么操作啊,我们在集群的时候呢再说。
04:45
还有咱们这个his,这是命中的记录,那命中的记录那就是查询到的记录呗,来展开,这有一个total,这叫总记录的,总记录数Y61000,那就是说明我们检索出了1000条记录,包括这些都代表什么意思,也可以参照文档,我们这检索出来以后呢,文档这都列出来了,每一个属性值都在这有说,比如total value们。
05:10
表示有多少条记录被匹配到了等等等等,那我们继续来看这relation,那就是与这次检索的关系,这是一个相等哈,这一块我们不说must score,那叫最大得分,由为我们这个检索是查所有不存在我们进行一些全文的这些匹配,模糊检索等等,所以我们没有最大得分hits,那就是我们所有命中的总记录数,好,我把total在这儿缩起来,我们现在来看hits,我们来命中的记录,命中的记录呢,我们第一条,每一条呢都是一个对象,我们都可以在这来锁起来,然后我们来看每一条,这都有in this代表我们这条记录所在哪个索引在哪个类型,它的这个记录的唯一ID是这个六,包括呢,这个score当前记录的得分,包括这个杠source,这个杠source我们之前说过,这就是代表了我们当时保存的这个数据的原本内容,诶就是它的原信息,它的银行账号是六,包括它的余额是多少,False。
06:10
Name last name,它所有的当时保存的信息都在杠S里面封装着。包括他现在的这个排序,他是第六个,我们来给他缩起来,包括我们所有的这些记录,我们都在这儿呢,都有。但是我们会看到,虽然说我们total里边有1000条,也就是说我们现在查所有能查到1000条,但是呢,默认我们现在只返回了我们这个是十条记录,这就类似于我们说的分页查询一下,即使是ES,它也不会给我们一次就返回所有,它也只返回默认它的第一页数据,这是我们说的第一种检索,将所有的检索条件全部放在我们这个UI路径背后。那我们说第二种检索,我们同样来发get请求,要进行检索,在哪个索引下检索,我们来说上,包括呢,只要是检索搜索,我们都带上杠search,然后接下来呢,我们可以将所有的检索条件,我们呢全部放在我们这个请求题上,比如我们文档的位置,我们可以来发送这么一个请求题,好,我把这个复制过来。
07:17
这跟我们这一块呢,都是一模一样的,把它复制放到我们K班ner的控制台们来看一下这句话的意思,我们让它呢,先把这个格式化一下,Bank,那就是检索银行这个索引下,在这个索引下检索一个大括号,Quary代表它的查询条件,Salt代表它的排序条件,未来呢,可能有非常多我们这些检索期间要用的这些条件,我们都可以在这来写上。我们这个query呢,查询条件我们来看第一个叫matchal,那就是匹配所有,那匹配所有的详细规则,有了写没了,我们直接一个打括号,包括我们的排序规则,Sort排序规则呢,那我们第一个规则是account number是asc,相当于按照账号进行升序排列,我们看到咱们这个零号,然后呢,升序排列,先是零号,再是一号,这没问题,包括如果我们有多种排序规则,我们也可以来继续,因为我们发现排序呢,这是一个数组,所以我们来猜一。
08:18
一下我们自己要写新的排序规则,那我再来写一个,那按照什么排序呢?我们这儿也有提示,比如我先按照这个账号给他升序,再按照我们这个balance,那就是它的余额,比如我来写一个balance,那么在这写呢,也都有提示。我们给他按照什么顺序呢?我们可以给他按照降取DEC,我们来运行们现在呢,又查出了这些数据,那这些数据呢,就是先按照账号进行升序,那如果账号相同的情况下,又会按照余额降序,但是呢,我们又不会触发相同的这个余额状况,相同的这个账号状况,所以呢,这个降息规则大家暂时呢看不到效果,但是我们能看到我们这个语法呢,就是这么来编写的,那我们把这一种,我们发get请求要进行查询,将所有的查询条件写成一个J杰森,这种方式我们称为呢叫query d SL,就是呢,我们的查询领域对象语言,这就是在ES中特别规定的它这种这种语法格式,我们要查询呢,我们后来都用第二种方式,那也就是说,以后只要我们将这种规则我们会写了,将这种语法到底能写什么,我们都掌握了,那我们。
09:36
就可以进行一些ES里边的复杂操作了,包括我们这里边的所有东西也是参照文档,我们看文档的目录,我们现在是在getting start章节快速开始,我们在这儿尝试了一下检索,包括检索呢,人家在这儿还提示了一下我们更多的语法,什么from size都代表什么意思,这呢都有解释,比如我们现在要请求从十到19号数据,那就是FROM10 size10,我们从十号第十个数据开始又拿十个。
10:09
那我们就查出了十到19号记录,那这不就是我们马S中的封页查询吗?好,我们后来再说,所有东西呢,我们都可以参照文档,包括我们这个query d SL这一块的东西该怎么写,我们就应该来参照我们文档,这里边专门有个章节叫query d SL,这就是我们先来说的我们ES中的基本检索功能。首先呢,我们能看懂检索出来返回的这些数据,那么真正要用的呢,都是在hits里边,所有命中的这个记录里边有每一条的记录杠,S代表了当前记录的完整信息,那更多的细节呢,我们后来进行一一测试就行了。
我来说两句