/* *es配置类 * */ @Configuration public class ElasticSearchDataSourceConfigurer { private static final Logger LOG = LogManager.getLogger(ElasticSearchDataSourceConfigurer.class); @Bean public TransportClient getESClient() { //设置集群名称 Settings settings = Settings.builder().put("cluster.name", "bigData-cluster").put("client.transport.sniff", true).build(); //创建client TransportClient client = null; try { client = new PreBuiltTransportClient(settings) .addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(""), 9300));//集群ip LOG.info("ESClient连接建立成功"); } catch (UnknownHostException e) { LOG.info("ESClient连接建立失败"); e.printStackTrace(); } return client; } }
/** * Simple to Introduction * * @Description: [添加类] */ @Repository public class UserDaoImpl implements userDao { private static final String INDEXNAME = "user";//小写 private static final String TYPENAME = "info"; @Resource TransportClient transportClient; @Override public int addUser(User[] user) { IndexResponse indexResponse = null; int successNum = 0; for (int i = 0; i < user.length; i++) { UUID uuid = UUID.randomUUID(); String str = uuid.toString(); String jsonValue = null; try { jsonValue = JsonUtil.object2JsonString(user[i]); if (jsonValue != null) { indexResponse = transportClient.prepareIndex(INDEXNAME, TYPENAME, str).setSource(jsonValue) .execute().actionGet(); successNum++; } } catch (JsonProcessingException e) { e.printStackTrace(); } } return successNum; } }
/** *批量插入 */ public static void bathAddUser(TransportClient client, List<User> users) { BulkRequestBuilder bulkRequest = transportClient.prepareBulk(); for (int i = 0; i < users.size(); i++) { UUID uuid = UUID.randomUUID(); String str = uuid.toString(); String jsonValue = null; try { jsonValue = JsonUtil.object2JsonString(users.get(i)); } catch (JsonProcessingException e) { e.printStackTrace(); } bulkRequest.add(client.prepareIndex("user", "info", str).setSource(jsonValue)); // 一万条插入一次 if (i % 10000 == 0) { bulkRequest.execute().actionGet(); } System.out.println("已经插入第" + i + "多少条"); } }
java连接ElasticSearch集群
最新推荐文章于 2024-08-17 13:00:00 发布