ElasticsearchTemplate使用updateByQuery

6,069 阅读1分钟
Client client = template.getClient();
//删除列表
String isDeleted = "1";
UpdateByQueryRequestBuilder updateByQueryRequestBuilder = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);
        updateByQueryRequestBuilder.source("索引")
                .filter(QueryBuilders.termQuery("字段", planId))
                .script(new Script("ctx._source.[field]='"+isDeleted+"'"));
        //删除分词
        UpdateByQueryRequestBuilder updateByQueryRequestBuilder1 = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);
        updateByQueryRequestBuilder.source("索引")
                .filter(QueryBuilders.termQuery("字段", planId))
                .script(new Script("ctx._source.[field]='"+isDeleted+"'"));
        BulkByScrollResponse response = updateByQueryRequestBuilder.get();
        BulkByScrollResponse response1 = updateByQueryRequestBuilder1.get();
        System.out.println(response.getUpdated());
        System.out.println(response1.getUpdated());