00:00
接下来我们给大家讲一下ES软件当中的文档评分机制,什么叫文档评分机制呢?我们给大家去简单演示一个效果,首先我们这里添加一个索引。添加完成以后,往里面添加两条数据。所以斜杠下划线dock,然后给它来一个1001,我的第一条数据,第一条数据里面只有一个字段,我们写上它叫做text,好,然后呢,我们写上它叫张开手臂。啊,迎接太阳。我随便写的啊,没有任何的含义在里面啊,行,这是我的第一条,那么第一条成功以后,我再拷贝一下,我添加第二条,我添加第二条是什么呢?叫张三啊,很简单一个人名是吧。1002。然后点击箭头行了,添加成功,那我现在呢,有两条数据,以后我想去把这个数据查出来,那么这个时候呢,我们就写上get,然后索引名称斜杠下划线设,然后加上我们的匹配条件,我们叫query,我们这里叫match,这个match当中啊,我们直接写上叫文本,然后写上一个分值的一个匹配,咱们就叫张,那么我们这里面两个都有,所以我查询之后,我们现在想去点击箭头。
01:17
同学们,我们的查询结果已经出来了,但是很奇怪,因为我第一条我插入的是我们的这个值,可是我查询出来的结果却不是,它是我们的1002,那这个好像跟我的插入顺序是没有什么关系的,那么我们的查询之后,我们的数据到底是以什么样的方式把结果展现出来的呢?其实这个就靠评分,什么意思,我们这里会多出来一个字段,我们叫下划线扣,我们叫分数,那么这个分数是0.241631,这个分数是0.146389,你会发现这个分数它明显比这个要高一些,所以他的查询就会放在前面展现出来。说的简单点,就是说我们会给我们当前所查询的结果给他一个评分,那么评分高的我们应该优先显示,那老师什么叫评分高呢?其实就表示我当前的查询跟这个我们的数据匹配度更高一些。
02:15
所以啊,这个匹配度我们给它一个分值,那么分值越高的不就意味着越匹配吗?诶,那这个分值是怎么来的呢?我们光看这我们是看不出来的,所以如果我们想看一看它的分值是怎么得到的,我们这里需要加上一个问号,它里面会有一个我们的分析的过程,我们这里给他写个true,那么我们在查询的时候,他就会告诉你我的分值是怎么出来的了。点击箭头点一下。点击箭头以后,大家可以看到我们的分值其实是0.241631,它的计算公式其实是这么来的,咱们可以看一下,它里面有一个这个,它这个叫权重,那么还有个叫IDF和TF,这个其实呀是我们的一个公式来,咱们把这个呢,我们放过来。
03:01
按过来以后,这个公式当中,大家可以看到我们在这里呢,它有一个我们的权重叫2.2个值就是2.2,然后呢有个IDF,这个IDF呢,其实在这个地方已经帮你算出来了,所以呢,大家可以看到我们就写上它。2.2,然后呢,它再乘以,乘以什么呢?乘以我们的0.18,把这个数值咱们拿过来对吧,然后再乘以一个数叫TF,那么好,我们这里呢,把这个TF呢,它拷贝过来。拷贝过来以后,我们放到这里说,你会发现我们真正的分值其实就是这个数据的一个结果。那好,那这个数是多少呢?我们来找一下。我们这里呢,就按照我们的计算呢,我们2.2,我们乘以我们的0.0.1823232156,好再乘以0.6。024啊,024096好,我们写上它等号,等号以后是0.241630241630,咱们找一下。
04:08
咱们往上看。0.241630,只不过我们刚才的这个后面是个九啊,他给他进位了,对不对,诶,所以这个结果说明是正确的,所以我们当前的这个结果怎么来的,其实就是我们通过一个计算公式得到的,但是有问题,因为我们的计算公式当中有一些值呀,我们并不知道它是什么含义,所以它是怎么来的我们也不清楚,我们唯一知道的就是它,它是一个权重系数,这个我们后面会给大家进行讲解,所以啊,我们现在有一个叫IDF和一个TF并不知道,所以我们课件当中会告诉大家。我们的ES软件它采用了一个平分计算公式,这个公式就简称叫TF和IDF公式,为什么?因为他们计算出来的结果恰恰就是IDF和TF啊,所以我们大概的给大家先介绍一下我们评分是怎么来的,然后呢,我们再分别给大家讲一下我们的TF是干什么的,我们的IDF是干什么的就可以了。
我来说两句