gpt4 book ai didi

java - 如何使用Java API删除Elasticsearch索引中的所有内容而不是映射

转载 作者:行者123 更新时间:2023-12-02 22:18:56 24 4
gpt4 key购买 nike

我有一个称为事件的索引,它具有约250条记录。我想删除这250条记录而不删除完整的映射。

DeleteIndex delete = new DeleteIndex.Builder("events").build();
client.execute(delete);

上面的代码删除了完整的事件索引。如何只删除内容?

最佳答案

基于ElasticSearch文档Delete By Query API,您可以使用查询删除索引中的所有文档,如下所示:

POST twitter/tweet/_delete_by_query
{
"query": {
"match_all": {}
}
}

使用 ElasticSearch Java API "Delete By Query API" documentation:
BulkByScrollResponse response =
DeleteByQueryAction.INSTANCE.newRequestBuilder(client)
.filter(QueryBuilders.matchQuery("gender", "male"))
.source("persons")
.get();

long deleted = response.getDeleted();

请注意,此答案适用于 ElasticSearch 6.1 ,但可能与其他版本的ElasticSearch不同。

我希望这能帮到您。

关于java - 如何使用Java API删除Elasticsearch索引中的所有内容而不是映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48205615/

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