elasticsearch68 Java RestHighLevelClient 清空索引中所有的数据
要清空Elasticsearch索引中的所有数据,您可以使用Java RestHighLevelClient库中的deleteByQuery API。以下是一个示例代码,该代码清空名为"my_index"的索引中的所有数据:
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.deletebyquery.DeleteByQueryRequest;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.MatchAllQueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import java.io.IOException;
public class ClearIndexData {
public static void main(String[] args) {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
try {
// 创建一个deleteByQuery请求,指定要删除的索引和查询条件
DeleteByQueryRequest request = new DeleteByQueryRequest("my_index");
MatchAllQueryBuilder matchAllQueryBuilder = QueryBuilders.matchAllQuery();
request.setQuery(matchAllQueryBuilder);
// 执行删除操作
DeleteByQueryResponse response = client.deleteByQuery(request, RequestOptions.DEFAULT);
// 检查删除操作的结果
if (response != null && response.getTotalDeleted() > 0) {
System.out.println("Deleted " + response.getTotalDeleted() + " documents");
} else {
System.out.println("No documents deleted");
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
client.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
请注意,为了使用RestHighLevelClient,您需要在Maven或Gradle项目中添加相应的依赖项。确保您的Elasticsearch服务器正在运行,并且端口号和索引名称正确
原文地址: https://www.cveoy.top/t/topic/iKM3 著作权归作者所有。请勿转载和采集!