00:00
我们再来说一个非常常用的语法,叫term,我们可以来参照官方文档,所有官方文档的东西呢,我们都可以来找到,比如我们现在遇到了一个陌生语法,我们就可以在这来搜索,来搜索这个term。来看一下这个term cor。那term是什么呢?他这说,诶,我们可以使用term这个查询来找我们这个文档里边的这些属性,比如是我们price啦,或者商品的ID或者username,包括他说什么跟match的各种关系,也就是说我们这个term啊,跟match也是一样,就是来查东西的,但是呢,我们推荐全文检索的这些字段,也就是说我们test是文本的这些字段,我们不要用term a word,我们来避免使用term,而全文检索的这些字段呢,使用map,而那些精确的字段,比如我们存的这些数据里边来检索一下。这精确的字段呢,比如我们的年龄以及balance,这都是一些数值,这些呢都是文本,可能需要全文检索,那非文本字段呢,我们就可以拿term来进行检索,来举一个例子,Get,我们还是一样来查检索银行里边的数据杠,一个search,好我来写一个query,我们来检索,检索呢,我们可以来写match,这是没关系的,好,我来写match,比如我来找年龄是28的,这样呢也能查出数据走,包括呢,这有51个数据,我们来把它变为term,这也是没问题的,我们来直接走还是51条,所以我们说我们推荐来找这些精确值字段的,我们就使用term,而如果我们来进行全文检索的,比如像address这些地址,这些地址呢,我们想来检索,比如这个789什么street,好,我们要用term呢,这就不合适了,我们来可以看一下最终的效果走。
01:57
这样呢,一个记录都检索不到,原因呢,文档也说了,这由于我们这个ES在保存test字段的时候,存在了我们这个数据分析的问题,也是分词的问题,我们要拿termm来检索我们整个完整字段的值是一个非常困难的。
02:13
所以呢,我们想要来在在这来检索这个值,我们就还是来使用match,它就变得没问题了,来进行检索,那这样呢,相当于查出了789,以及这些里边只要包含任意一个单词的都行。那我们以前学过语法,我们想要把它查完整的,我们就希望address里边包含完整的它,我们可以用一个语法叫什么呢?叫match好来进行查询,现在就查到了一个,包括呢,我们match里边也可以这么来用我match呢。代表我去来全文检索查询,它默认呢会分词,我们除了使用match fresh外,我们还可以使用address.keyword。每一个文本字段都可以点keyword.keyword代表的意思就是我们来匹配这个文本字段的整个精确值。相当于把这个值。
03:07
就当成address的值进行检索,这也是可以查找到的,它跟match f的区别是什么?来写这个,来看一下get bank刚search,那么这一块呢,我来复制过来。我们现在呢,我们把它拿这个用match f好,我们来进行短语匹配,短语匹配这个东西和我们这个match keyword都行,但是我稍微变一下。然后呢,我们来看我们的keyword匹配走我们查到零条记录,而match f走我们查到一条记录,那这就很明显了,我们如果来做一个文本字段的匹配,我们使用keyword,那就是整个这一块的内容,就是这个字段的全部值要进行精确匹配的,所以呢,我们上边就查出了一个零条记录,而我们match是做短语匹配,只要我们address这个文本里边包含这一个完整短语,那就算,所以我们这个呢,查出了一条记录。
04:13
所以最终我们来说我们的这个查询以后呢,我们就给大家做一个规定,只要我们来查询非test字段,非我们这个文本字段,我们比如balance之类的。我们都使用term来进行查询,而是文本字段我们就使用match来进行匹配来运行一下,这块呢都没什么问题,所以最终呢我们要用它,那就是全文检索的时候我们用match,如果非全文检索字段我们查询我们就用term,所以呢,这以后就是我们的一个规范,虽然他俩都能完成相同的功能,但在全文检索字段上termm呢就有点不一样了。我们必须使用match来进行匹配查询,我们还给大家扩展了一个我们这个keyword,我们进行精确匹配的这个查询方法,我们来写一下精确匹配。
05:10
那这个qword呢,也是比较经常使用的,好,我们给大家放在这。那至此呢,我们以上都给大家说了一下我们查询的一些用法,各种布尔组合查询慢也好,Master也好,一大堆,还有我们说的这个term,包括我们扩展了keyword,那这一块呢,都是search作为检索功能为我们提供的这个查询,所有的东西呢,我们都可以参照我们文档里边的query d SL这个章节,那我们说EL search,它是一个存储、检索和分析数据的引擎,那么存储我们上上一节课的增删改查,我们体会到了,检索呢,我们测试了很多的que瑞DSL,我们也体会到了,将下来就是它的分析功能,那么下一节课呢,就来体会它如何来对已检索到数据进行一些分析。
我来说两句