elasticsearch更新操作问题

Posted 李悠然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了elasticsearch更新操作问题相关的知识,希望对你有一定的参考价值。

elasticsearch在更新的时候,是通过id进行管理的,我们在前台传入id操作,id如果与elasticsearch相同,则覆盖,否则新增一条记录。且elasticsearch中的插入一条记录和更新一条记录的代码是一样的,如下:

    public boolean updateIndex(String indexName, String id, Map map)
            throws Exception {
        // TODO Auto-generated method stub
        boolean flag = false;
        JestHttpClient jestHttpClient = Connection.getClient();
        Bulk.Builder bulk = new Bulk.Builder().defaultIndex(indexName)
                .defaultType(indexName);
        String location = map.get("latitude")+","+map.get("longitude");
        map.put("location", location);
        Index index = new Index.Builder(map).id((String) map.get("id")).build();
            bulk.addAction(index);
        BulkResult br = jestHttpClient.execute(bulk.build());
        flag=br.isSucceeded();
        return flag;
    }
    public static  void main (String[] args){
        ElasticsearchServiceImpl es = new ElasticsearchServiceImpl();
        Map map =new HashMap<String, String>();
        map.put("id", "001");
        map.put("latitude", "32");
        map.put("longitude", "117");
        map.put("text", "何婷婷");
        System.out.println(map);
        try {
            es.updateIndex("omorequire", "10", map);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

测试结果如下:

 

 这样的话就完成了elasticsearch的更新操作

以上是关于elasticsearch更新操作问题的主要内容,如果未能解决你的问题,请参考以下文章

ElasticSearch Client详解

Elasticsearch7.8.0版本入门——JavaAPI操作(环境准备)

Elasticsearch7.8.0版本入门——JavaAPI操作(环境准备)

针对Elasticsearch的开源分析及可视化平台——Kibana

ELK 实验elasticsearch集群搭建

elasticsearch更新操作问题