ElasticSearch批量操作(java)

1.批量插入

    /**
     * 批量添加索引 
     * @throws IOException
     */
    public void batchAddIndex()  {
        // 创建es客户端
        Client client = elasticClientUtil.getClient();
        BulkRequestBuilder bulkRequest = client.prepareBulk();
        try {
            bulkRequest.add(client.prepareIndex("effect_kepler", "effect_kepler", "0")
                    .setSource(jsonBuilder()
                            .field("op_time", "2017-01-01")
                            .field("bid", 1)
                            ...
                            .field("add_member_num", 10)
                            .endObject())
                            .endObject())
            );
        } catch (IOException e) {
            e.printStackTrace();
        }
        try {
            bulkRequest.add(client.prepareIndex("effect_kepler", "effect_kepler", "1")
                    .setSource(jsonBuilder()
                            .field("op_time", "2017-01-01")
                            .field("bid", 1)
                            ...
                            .field("add_member_num", 10)
                            .endObject())
            );
        } catch (IOException e) {
            e.printStackTrace();
        }
        ...

        BulkResponse bulkResponse = bulkRequest.get();
        if (bulkResponse.hasFailures()) {
            System.out.println("failures..............:" + bulkResponse.buildFailureMessage());
        }
    }

2.批量删除

    /**
     * 批量删除索引 * @throws IOException
     */
    public void batchDeleteIndex() {
        logger.info("=================批量删除数据开始=====================");
        // 创建es客户端
        Client client = elasticClientUtil.getClient();
        BulkRequestBuilder bulkRequest = client.prepareBulk();
        bulkRequest.add(client.prepareDelete("effect_ex", "effect_ex", "0"));
        bulkRequest.add(client.prepareDelete("effect_ex", "effect_ex", "1"));
        ...
        BulkResponse bulkResponse = bulkRequest.get();
        if (bulkResponse.hasFailures()) {
            System.out.println("failures.............:" + bulkResponse.buildFailureMessage());
        }
        logger.info("=================批量删除数据结束=====================");
    }

3.批量修改

 public void batchUpdateIndex() throws IOException {
        logger.info("=================批量更新数据开始=====================");
        // 创建es客户端
        Client client = elasticClientUtil.getClient();
        BulkRequestBuilder bulkRequest = client.prepareBulk();
        bulkRequest.add(client.prepareUpdate("effect_ex", "effect_ex", "1").setDoc(jsonBuilder()
                .startObject()
                .field("op_time", "2017-01-02")
                .field("bid", 1)
                ...
                .field("add_member_num", 10)
                .endObject()));
        bulkRequest.add(client.prepareUpdate("effect_ex", "effect_ex", "2").setDoc(jsonBuilder()
                .field("op_time", "2017-01-02")
                .field("bid", 1)
                ...
                .field("add_member_num", 10)
                .endObject()));
        BulkResponse bulkResponse = bulkRequest.get();
        if (bulkResponse.hasFailures()) {
            System.out.println("failures..............:"+bulkResponse.buildFailureMessage()
            );
        }
        logger.info("=================批量更新数据结束=====================");

    }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小猿架构

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值