ElasticSearch修改和删除文档

ElasticSearch修改和删除文档

修改文档方式一:使用prepareUpdate,prepareIndex两者选其一皆可

client.prepareUpdate("blog2","article",article.getId().toString()).setDoc(objectMapper.writeValueAsString(article)).get();

删除文档方式一:使用prepareDelete删除文档

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();
}
上一篇:Java属性跟成员变量的关系


下一篇:在线考试系统的设计与实现