温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何分析Elasticsearch Document Delete API

发布时间:2021-11-17 15:30:41 来源:亿速云 阅读:145 作者:柒染 栏目:大数据

如何分析Elasticsearch Document Delete API,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

这里将重点介绍ElasticSearch Doucment Delete API

从《ElasticSearch Client详解》可知,ElasticSearch Delete Rest Hign level  Delete Api声明如下:

  • public final DeleteResponse delete(DeleteRequest deleteRequest, RequestOptions options) throws IOException

  • public final void deleteAsync(DeleteRequest deleteRequest, RequestOptions options, ActionListener<DeleteResponse> listener)

上述两个API,一个同步调用,一个异步调用,同步调用方法直接组装DeleteResponse 并返回,而异步方法通过回调ActionListener,并将执行结果(DeleteResponse)传入回调方法。DeleteRequest 需要的请求参数在IndexRequest、GetRequest中都已提及,本节就无需再对其进行分析。

1、Delete API示例

public static void testDelete() {         RestHighLevelClient client = EsClient.getClient();         try {             DeleteRequest request = new DeleteRequest("twitter", "_doc", "1");             DeleteResponse result = client.delete(request, RequestOptions.DEFAULT);             System.out.println(result);         } catch(Throwable e) {             e.printStackTrace();         } finally {             EsClient.close(client);         } }

返回示例:

{     "_shards" : {         "total" : 2,         "failed" : 0,         "successful" : 1     },     "_index" : "twitter",     "_type" : "_doc",     "_id" : "1",     "_version" : 2,     "_primary_term": 1,     "_seq_no": 5,     "result": "deleted" }

2、深入Delete API内部实现机制

2.1 版本管理

索引的每个文档都是版本化的。在一个文档上执行的每一个写操作,包括删除,都会导致它的版本增加。被删除的文档的版本号在删除后的短时间内仍然可用,以允许对并发操作进行控制(基于版本的乐观锁控制)。被删除的文档版本保留的时间由配置项index.gc_deletes决定,默认时间为60s。

2.2 自动创建索引

执行一个文档的删除操作,如果索引不存在,默认情况下也会自动创建索引,其创建索引的控制逻辑在《Elasticsearch Document Index API详解、原理与示例》中已详细描述,再次不重复。

看完上述内容,你们掌握如何分析Elasticsearch Document Delete API的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI