[TOC]
保存接口的操作示例,请参考模板:
https://www.showapi.com/apiGateway/view/?apiCode=2161&pointCode=2
操作示例是模板的操作示例,并非您自己的接口,所以在操作的过程中要注意您的调用地址不要弄错了,调用地址填写的是您的接口地址,而非模板地址。假如您的地址是“http://route.showapi.com/2161” 开头的,那肯定有误。
当我们操作elastic,提交一条数据的时候,操作是这样的:
```css
PUT /customer/_doc/1
{
"name": "John Doe",
"age": 22,
...
}
```
使用的是HTTP的PUT操作,url的组成:/index/type/id。如果您要用程序操作,那您得需要了解PUT操作是怎么实现的,或者用第三方HTTP控件来实现请求,这个过程比较麻烦。如果再加上签名或者用户名密码验证,将更复杂。不过,您可以放心使用我们提供的连接器,它已经帮您做好了所有的前期准备,您可以尽情使用。
请求的返回内容如下:
```css
{
"_index" : "customer",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 2,
"failed" : 0
},
"_seq_no" : 26,
"_primary_term" : 4
}
```
保存操作,有可能是create(新增)操作,也有可能是update(更新)操作,当提交的ID已经存在了那该语句进行的是更新,否则就是新增。
通过我们的接口,您操作的方式变成(JAVA代码演示):
```java
String res=new ShowApiRequest("http://route.showapi.com/2166-4","my_appId","my_appSecret")
.addTextPara("data","{\"id_card\":\"53212019900101....\",\"name\":\"John Doe\",\"age\":22}")
//.addTextPara("id_field","id_card")
.addTextPara("id","12")
.addTextPara("indexName","common_index")
.post();
System.out.println(res);
//*同时指定了id_field和id时,以id参数的值为准.如果在没有指定id,而是指定了数据中某个字段为主键,那该字段名称将会变成_id存于elastic中.也就是说当只指定了id_field而没有指定id的值时,id_field对应字段会被改名成_id
```
使用我们提供的SDK或者示例,您可以轻松的发送请求。我们使用的请求操作可以用GET或者POST操作完成,不需要您再额外的查找第三方组建完成HTTP请求操作。
以上请求参数的说明如下:
![](https://showapi.oss-cn-hangzhou.aliyuncs.com/doc/3792/2019-11-08_115944.jpg)
保存操作较为简单,此处不再过多赘述,具体请参考[[Elastic连接器模板]][Elastic连接器模板]
在ElasticSeach7以后,将不支持分类type,但作为过渡期,在版本7中还是默认提供了一个type为_doc。在elasticsearch8中将不再支持type。操作接口时,为了保障ElasticSeach6+版本的操作一致性,我们要求只传递一个index名称即可。type名称根据版本的不同,可能设置成与index一致(6.X)或者用_doc(7.X)或者为空,6.0以下版本的ElasticSearch,本模板不支持,请注意这一变化.
[Elastic连接器模板]: https://www.showapi.com/apiGateway/view/?apiCode=2161&pointCode=2 "Elastic连接器模板"