java操作eslasticsearch实现批量操作

我爱海鲸 2020-02-28 20:12:23 暂无标签

简介eslasticsearch实现批量操作

//mget批量查询

@Test

public void test6() throws IOException, InterruptedException, ExecutionException {

//指定ES集群

Settings settings = Settings.builder().put("cluster.name","haijines").build();

//创建访问es服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.42.159"),9300));

//批量操作

MultiGetResponse response = client.prepareMultiGet()

.add("index1","blog","8","10")

.add("lib3","user","1","2","3")

.get();

for(MultiGetItemResponse item : response) {

GetResponse gr = item.getResponse();

if(gr!=null&&gr.isExists()) {

System.err.println(gr.getSourceAsString());

}

}

}


//bulk批量操作

@Test

public void test7() throws IOException, InterruptedException, ExecutionException {

//指定ES集群

Settings settings = Settings.builder().put("cluster.name","haijines").build();

//创建访问es服务器的客户端

TransportClient client = new PreBuiltTransportClient(settings)

.addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.42.159"),9300));

//批量添加

BulkRequestBuilder builder = client.prepareBulk();

builder.add(client.prepareIndex("lib2","books","8")

.setSource(

XContentFactory.jsonBuilder()

.startObject()

.field("tltle","python")

.field("price",99)

.endObject()

)

);

builder.add(client.prepareIndex("lib2","books","9")

.setSource(

XContentFactory.jsonBuilder()

.startObject()

.field("tltle","VR")

.field("price",29)

.endObject()

)

);

BulkResponse response = builder.get();

System.out.println(response.status());

if(response.hasFailures()) {

System.out.println("失败了");

}


}

你好:我的2025