00:00
前面我们说了ES中检索的两种方式。第一种呢,是request加我们这个请求参数的方式,第二种呢,是我们get方式的rest请求加它的这个请求体的方式,而这个请求体呢,这里边的数据我们把它称为叫query d SL,就是我们查询的领域对象语言,那我们query d SL的完整语法是这样子,一个查询语句的典型结构,首先呢是一个大括号,我们来看我们这一块的语法,首先呢是一个大括号,将所有的查询相关的所有条件都要写到这个大括号里边,那接下来我们的语法是我们要做什么,接下来这就是我们有一个叫corryname,我们的查询名字,我们想要干什么,我们想要进行查询,所以说呢,我们这就可以写一个东西叫quary,包括呢,我们还能做更多的事情,比如我们在这来给一个提示,下边呢有非常多。由from我们来做风叶的,我们后来说还有highlight,我们来做高亮的等等等等,包括我们的后置filter进行过滤的quary,这就是我们的查询,所以我们能在这做的跟操作在这呢都有提示,那么上节课体验的sortt也都在这有,这是我们说的我们qua瑞DSL的语法,首先我们要做什么,这是我们的操作,接下来我们这个操作的详细信息又是一个大括号,我们现在想要qua瑞,Qua瑞呢,怎么qua瑞?那接下来我们又有提示,比如我们以前写过match all们来写一个M,这又有提示match all,这就是查询所有回,那我们这一块的提示呢,都会写好,我们来直接运行,我们来选中这个运行。
01:43
那这一块呢,就可以查出我们的这些数据,所以这是我们qua瑞DSL的语法,那接下来呢,如果我们是针对某一个字段的查询,我们还可以指定字段的名字和它的一些参数以及值,我们的之前的query查询,这是我们query,包括我们要MAN2,这是我们的参数,MAN2值是什么,我们又是一个对象等等等等,那它具体的语法格式呢?
02:06
我们就接着往下学,还是一样可以参照官方文档,我这一块所有的东西都是从摘自于官方文档,我们来到我们这个getting start,我们快速开始start session,我们前面呢做了一个查询,而且呢我们体会了一下排序,我们可以指定按照某个字段排序,比如我们在这来查询,我们现在呢是查到了所有数据,Corry man,这是匹配查询所有,然后呢,我想要制定排序规则,那我就来写一个salt,这直接来提示我们给哪个字段按照什么规则进行排序,那好,那第一个字段,我们以前呢按照账号排序,我现在按照金额balance,我按照降序排列,我就能查到我们存款额由高到低的所有排序,我们来可以看一下运行。还是1000条记录,花费了六毫秒时间,但只不过默认呢,只返回十条,我们就能看到最高的这个记录是二十四八号这个账户它有49998,那第二个呢,那就是我们这个49795。
03:09
这就是我们指定了排序规则,当然我们发现简写呢,那就是这样,诶,我们直接写一个DEC。那完整的语法呢,就应该是人家提示的这样每一个字段,Balance字段我们制定什么呢?是制定它的order,规则是什么,规则是DEC,这又符合了我们这个语法格式里面呢,这样我们的字段名参数名参数值,那这这一块呢,就是我们的字段名参数名参数值,那接下来我们再来体会,那现在的这个查询,我想要给它进行封页,我只要五条记录,现在呢,我们现在默认是给我们查询十条,且呢是第一页数据,比如我们要只要五条记录,那这是一个排序,那我们的分页呢,还是在它的更操作里边,我们的整个大括号里边的根操作,除了有quary,有salt,还有我们的其他,比如有一个叫from,从哪开始,我们从零第一个索引开始,相当于第一条记录,这就像我们MYSQL里面的LIMIT05一样。从第一条记录。
04:12
一次拿五条,我们也是一样,From从第一条记录拿几条呢?们再来指定下次我们现在呢拿上五条,那直接运行,我们现在呢就能看到,我们在这个hits里边肯定就只有五条记录走,我们就拿到五条,那我们要第二页的数据的话。比如我们来看第一页最大的金额呢是4998,这个最小的呢是咱们这个49587,那么要第二页,那么记录数呢,又是从五开始拿五条走,第二页呢是49568,那正好接上了第一页的数据,没问题。这是我们的分页,那这样呢,我们就学会了query d SL的基本语法,包括呢,前期直接在K里边按照提示我们来敲也是没问题的。
05:05
那主要的语法格式呢,就是我们在这大括号里边说我们的操作,怎么操作,我们这都有包括每一个操作呢,如果包含了对属性的操作,有属性名参数名参数值。那再比如我们来再来体会一下,我们在返回数据的时候呢,我们再来体会另外一个更操作叫杠source,杠source可以指定我们只返回部分字段,我们现在呢,返回的默认都是我们存储的这个信息的全量字段,那比如我只想看它的名字和它的这个余额,我们就可以在这个跟操作里边呢,又有一个叫杠source,我们这其实我们这有一个字段,那么要返回什么字段呢?比如我要返回balance,那如果我要返回多个字段,我们的语法呢,就是这样,我们使用中括号。这是一个数组,我们包含的这些字段呢,都给我们进行指定返回好。
06:01
那在这来写上中括号语法。我们要返回balance字段,我们还要返回我们的first nameme这两个字段我们来运行,我们看到命中的这个记录里边,杠里边只有first name和balance,那这就像我们my circle里边不使用select星,而使用select指定的列一样,那这样呢,我们就体会了corry d SL的基本语法。
我来说两句