ElasticSearch修改和删除文档
修改文档方式一:使用prepareUpdate,prepareIndex两者选其一皆可
client.prepareUpdate("blog2","article",article.getId().toString()).setDoc(objectMapper.writeValueAsstring(article)).get();
client.prepareDelete("blog2","article",article.getId().toString()).get();
修改文档方式二:直接使用update
client.update(new UpdateRequest("blog2", "article", article.getId().toString()).doc(objectMapper.writeValueAsstring(article))).get();
删除文档方式二:直接使用delete
client.delete(new DeleteRequest("blog2","article",article.getId().toString())).get();
修改和删除文档完整代码
//文档相关操作
@Test
public void demo6() throws Exception{
//创建连接搜索服务器对象
Client client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("127.0.0.1"),9300));
//描述json数据
/*
* {id:xxx,title:xxx,content:xxx}
*/
Article article = new Article();
article.setId(2);
article.setTitle("搜索工作其实也不枯燥");
article.setContent("我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够一台开始并扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。Elasticsearch旨在解决所有这些问题和更多的问题。");
ObjectMapper objectMapper = new ObjectMapper();
//建立文档
client.prepareIndex("blog2","article",article.getId().toString()).setSource(objectMapper.writeValueAsstring(article)).get();
//修改文档方式一
client.prepareUpdate("blog2","article",article.getId().toString()).setDoc(objectMapper.writeValueAsstring(article)).get();
//删除文档方式一
//client.prepareDelete("blog2","article",article.getId().toString());
//修改文档方式二
client.update(new UpdateRequest("blog2", "article", article.getId().toString()).doc(objectMapper.writeValueAsstring(article))).get();
//删除文档方式二
//client.delete(new DeleteRequest("blog2","article",article.getId().toString())).get();
//关闭连接
client.close();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。