gpt4 book ai didi

java - 删除所有文档而不删除 elasticsearch java API 中的索引

转载 作者:搜寻专家 更新时间:2023-11-01 02:40:03 25 4
gpt4 key购买 nike

是否有任何简单的 Java API 可以在不删除索引的情况下从 Elasticsearch 中删除所有文档。

我知道我们可以获取所有 id 并逐个删除每个文档

DeleteResponse response = _client.prepareDelete(INDEX, TYPE, id)
.setRefresh(true)
.execute()
.actionGet();

但我一直在寻找 TRUNCATE 类型的场景。

目前我正在删除索引并在单元测试中重新创建映射。

最佳答案

您可以使用 delete-by-query plugin为了实现这一目标。

你需要在所有节点上安装它

sudo bin/plugin install delete-by-query

然后你可以将这个依赖添加到你的pom.xml

<dependency>
<groupId>org.elasticsearch.plugin</groupId>
<artifactId>delete-by-query</artifactId>
<version>2.2.0</version>
</dependency>

最后您将能够使用 DeleteByQueryRequestBuilder以便在测试后删除所有文档。

关于java - 删除所有文档而不删除 elasticsearch java API 中的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35764341/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com