要清空Elasticsearch索引中的所有数据,你可以使用以下Java代码:

import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest;
import org.elasticsearch.action.delete.DeleteRequest;
import org.elasticsearch.action.delete.DeleteResponse;
import org.elasticsearch.action.search.SearchRequest;
import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.RequestOptions;
import org.elasticsearch.client.RestClient;
import org.elasticsearch.client.RestHighLevelClient;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.reindex.DeleteByQueryRequest;
import org.elasticsearch.index.reindex.DeleteByQueryResponse;
import org.elasticsearch.index.reindex.ScrollableHitSource;
import org.elasticsearch.index.reindex.SearchScrollRequest;

import java.io.IOException;

public class ClearIndexData {
    public static void main(String[] args) throws IOException {
        // 创建RestHighLevelClient
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder("localhost:9200"));

        // 清空索引中所有的数据
        DeleteByQueryRequest request = new DeleteByQueryRequest("your_index_name");
        request.setQuery(QueryBuilders.matchAllQuery());
        DeleteByQueryResponse response = client.deleteByQuery(request, RequestOptions.DEFAULT);
        System.out.println("Deleted documents: " + response.getDeleted());

        // 关闭RestHighLevelClient
        client.close();
    }
}

请注意,你需要将your_index_name替换为你要清空数据的索引名称。此代码使用Elasticsearch的DeleteByQueryRequest来执行匹配所有文档的查询,然后删除它们。

确保在运行代码之前,你已经将Elasticsearch的Java客户端库添加到你的项目依赖中

elasticsearch 68 Java 清空索引中所有的数据

原文地址: https://www.cveoy.top/t/topic/iKF0 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录