创建索引的时候我们就需要用到一个接口测试软件了,软件名称是postman,因为ES在建立索引的时候可能会用到其他的数据传输方式如put,delete等,而我们的浏览器只能进行get和post请求,所以在这里我们需要使用postman软件辅助我们学习ES。关于postman的下载网上有很多博客,大致就是无脑下载即可。

    下载完postman后,我们新建一个集合专门用来调试我们的ES,我这里新建了一个名称为ES基本操作的集合,下面新建了一个request请求名称为创建索引用来创建本章要实现的索引的创建。
    截屏2021-05-10 下午3.11.20.png我们这里的请求方式是put方式,使用的URI是http://localhost:9200/shopping
    现在可能会有疑问:为什么要使用put请求,这个URI代表了什么意思?

    1)为什么使用put请求
    因为在我们ES建立索引的过程中,我们有一个要求是要求传输数据的方式是幂等性的,即无论发送多少次请求,请求的结果都是唯一的,在http请求当中,put请求是符合这种幂等性的,而post则不符合这种特性,如果使用post的话,结果可能会导致不唯一,put就好像是mysql中的update,不会改变表的整体数据,而post则像mysql中的insert,会改表数据的行数。

    2)这个URI代表了什么意思
    这个URI代表的意思就是建立为我们的ES建立了一个名为shopping的索引,我们来看一下当点击了send以后会发生什么?截屏2021-05-10 下午3.21.32.png
    这里有三个参数,第一个参数的意思代表响应结果是正确的,第三个参数代表的意思是索引的名称为shopping

    那现在如果我们再一次点击send会发生什么?
    截屏2021-05-10 下午3.23.18.png
    我们发现此时请求会报错,因为我们之前说过,put所建立索引的结果是唯一的,我们不能再次建立同一个索引,因此这里会报错。

    那如果将put改用post呢?
    这里我们可以自己测试一下,我们会发现这是不被允许的,postman会给你提示信息说在建立索引的方式中我们可以使用的数据传输方式都是幂等性的,post是不被允许可以作为传递参数的方式的。