1、查询索引是index1,类型是blog,id是8、10和索引是lib3,类型是user,id是1、2、3的文档
@Test public void testMultiGet() throws IOException, InterruptedException, ExecutionException { //指定集群 Settings settings = Settings.builder().put("cluster.name","my-application").build(); //创建客户端 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300)); //执行批量查询,并返回结果 MultiGetResponse response = client.prepareMultiGet() .add("index1","blog","8","10") .add("lib3","user","1","2","3") .get(); //遍历输出结果,输出json字符串 for(MultiGetItemResponse item:response) { GetResponse gr = item.getResponse(); if(gr != null && gr.isExists()) { System.out.println(gr.getSourceAsString()); } } client.close(); }
2、给索引index1,类型blog批量添加id为3和4的文档
@Test public void testBulk() throws IOException, InterruptedException, ExecutionException { //指定集群 Settings settings = Settings.builder().put("cluster.name","my-application").build(); //创建客户端 TransportClient client = new PreBuiltTransportClient(settings) .addTransportAddress(new TransportAddress(InetAddress.getByName("192.168.43.151"),9300)); //创建文档 XContentBuilder doc1 = XContentFactory.jsonBuilder() .startObject() .field("id","9") .field("title","工厂模式9") .field("content","静态工厂,实例工厂9。") .field("postdate","2018-05-20") .field("url","csdn.net/79239027") .endObject(); XContentBuilder doc2 = XContentFactory.jsonBuilder() .startObject() .field("id","29") .field("title","工厂模式29") .field("content","静态工厂,实例工厂29。") .field("postdate","2018-05-20") .field("url","csdn.net/79239027") .endObject(); //bulk请求 BulkRequestBuilder bulkBuild = client.prepareBulk(); //指定创建文档的位置 bulkBuild.add(client.prepareIndex("index1","blog","3").setSource(doc1)); bulkBuild.add(client.prepareIndex("index1","blog","4").setSource(doc2)); //返回结果 BulkResponse response = bulkBuild.get(); //如果创建成功输出OK System.out.println(response.status()); if(response.hasFailures()) { System.out.println("失败了"); } client.close(); }
原文地址:https://www.cnblogs.com/javasl/p/12070410.html
时间: 2024-10-03 01:56:28