java操作 elasticsearch8.0 doc文档<二>
本文所有代码在文章最后
本文所有代码在文章最后
创建doc文档
如何连接请看上一篇文章
https://blog.csdn.net/u013979493/article/details/123122242?spm=1001.2014.3001.5502
User user = new User("10002", "lisi", 20, "男");
IndexResponse indexResponse = client.index(
x -> x.index("user").id(user.getId()).document(user));
修改doc自定义属性
User user = new User();
//修改什么属性就set什么值
user.setAge(101);
UpdateResponse<User> userUpdateResponse = client.update(
x -> x.index("user").id("10002").doc(user), User.class);
获取doc信息
GetResponse<User> getResponse = client.get(x -> x
.index("user")
.id("10002")
, User.class);
删除doc
client.delete(x -> x.index("user").id("10002"));
批量添加doc
//创建user列表
List<User> users = new ArrayList<>();
users.add(new User("15", "张三", 10, "女"));
users.add(new User("16", "张四", 10, "女"));
users.add(new User("17", "张五六", 11, "女"));
users.add(new User("18", "张三四", 12, "女"));
users.add(new User("19", "张三五", 13, "女"));
users.add(new User("20", "张三六七", 14, "女"));
users.add(new User("21", "张三1", 15, "女"));
//创建BulkOperation列表准备批量插入doc
List<BulkOperation> bulkOperations = new ArrayList<>();
//将user中id作为es id,也可不指定id es会自动生成id
users.forEach(a -> bulkOperations.add(BulkOperation.of(b -> b.index(c -> c.id(a.getId()).document(a)))));
client.bulk(x ->x.index("user").operations(bulkOperations));
批量删除doc
List<String> strings = new ArrayList<>();
strings.add("1");
strings.add("2");
strings.add("3");
strings.add("4");
strings.add("5");
strings.ad