es java 增删改查_ELASTICSEARCH JAVA的增删改查

操作ES的对象 :TransportClient

org.elasticsearch.client

transport

${elasticsearch.client.version}

我的版本是5.4.0

创建TransportClient对象

我是使用spring的bean注入的

@SuppressWarnings("resource")

@Bean(name="transportClient")

@Lazy

public TransportClient getTransportClient(){

TransportClient client =null;

try{

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

client=new PreBuiltTransportClient(settings).addTransportAddress(

new InetSocketTransportAddress(InetAddress.getByName("192.168.0.11"),9300));

log.info("创建es客户端对象成功");

}catch(Exception e){

log.error("创建es客户端对象失败");

log.error("失败原因:"+e.getMessage());

System.exit(-1);

}

return client;

}

创建对象那个成功后,就可以用来操作es库了,他的作用跟spring-jdbctemplate,spring-jdbctemplate一样,提供了对数据库增删改查的功能,

参考文档:

我用的就是es自己提供的对象 TransportClient

添加数据

es的添加数据提供了多种方法,跟hql语言有点相似,都是面向对象的。

es支持批量操作的方法,为了提供效率都是用批量的对象

BulkRequestBuilder builder=transportClient.prepareBulk();

BulkRequestBuilder 对象有一个地方需要注意,因为是批量操作,es忽略了数据的不正确性,就算你的数据不对,builder也不会报错,所以在调试阶段需要先确保数据的准确性再用该对象进行操作。

插入数据,其实只需要把你的对象转成json,然后批量插入即可

@Override

public void batchAddMyZu(List list) {

BulkRequestBuilder builder=transportClient.prepareBulk();

for(Family family:list){

String objstr= JSON.toJSONString(family);

builder.add(client.prepareIndex("family","myfamily"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值