elasticsearch使用指南之Elasticsearch Document Delete API详解、原理与示例

简介: 本文简单介绍了elasticsearch index delete api使用示例。

作者简介:《RocketMQ技术内幕》作者,中间件兴趣圈公众号 维护者。


本节将重点介绍ElasticSearch Doucment Delete API(根据ID删除文档)。

《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 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 自动创建索引

执行一个文档的删除操作,如果索引不存在,默认情况下也会自动创建索引。其他诸如分布式、Wait For Active Shards、刷新机制、超时机制都在《Elasticsearch Document Index API详解、原理与示例》中已详细描述,再次不重复。

相关实践学习
以电商场景为例搭建AI语义搜索应用
本实验旨在通过阿里云Elasticsearch结合阿里云搜索开发工作台AI模型服务,构建一个高效、精准的语义搜索系统,模拟电商场景,深入理解AI搜索技术原理并掌握其实现过程。
ElasticSearch 最新快速入门教程
本课程由千锋教育提供。全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索并详细分析了搜索的原理,最后讲解了在Java应用中如何集成ElasticSearch并实现搜索。  
目录
相关文章
|
2月前
|
缓存 监控 前端开发
顺企网 API 开发实战:搜索 / 详情接口从 0 到 1 落地(附 Elasticsearch 优化 + 错误速查)
企业API开发常陷参数、缓存、错误处理三大坑?本指南拆解顺企网双接口全流程,涵盖搜索优化、签名验证、限流应对,附可复用代码与错误速查表,助你2小时高效搞定开发,提升响应速度与稳定性。
|
存储 人工智能 自然语言处理
Elasticsearch Inference API增加对阿里云AI的支持
本文将介绍如何在 Elasticsearch 中设置和使用阿里云的文本生成、重排序、稀疏向量和稠密向量服务,提升搜索相关性。
507 14
Elasticsearch Inference API增加对阿里云AI的支持
|
存储 人工智能 API
(Elasticsearch)使用阿里云 infererence API 及 semantic text 进行向量搜索
本文展示了如何使用阿里云 infererence API 及 semantic text 进行向量搜索。
500 8
|
监控 API 索引
Elasticsearch集群使用 _cluster/health API
Elasticsearch集群使用 _cluster/health API
490 2
|
Unix API 索引
Elasticsearch集群使用 _cat/health API
Elasticsearch集群使用 _cat/health API
255 1
|
存储 JSON API
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
148 0
【Azure 存储服务】使用REST API操作Azure Storage Table,删除数据(Delete Entity)
|
存储 数据采集 数据处理
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
数据处理神器Elasticsearch_Pipeline:原理、配置与实战指南
669 12
|
存储 缓存 负载均衡
elasticsearch写入流程和请求检索流程原理全方位解析
elasticsearch写入流程和请求检索流程原理全方位解析
|
存储 监控 固态存储
elasticsearch索引生命周期管理(ILM):原理和实践
elasticsearch索引生命周期管理(ILM):原理和实践
|
数据采集 API 定位技术
elasticsearch pipelineI详解:原理与使用
elasticsearch pipelineI详解:原理与使用