• 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的更新操作

  • 相关阅读:
    波特率原理【转】
    求助大神!怎样批量删除数据库表中某个字段中同样的一段字符!
    1033. To Fill or Not to Fill (25)
    http协议
    【数据结构与算法】二叉树深度遍历(递归)
    2015届求职经历
    Codeforces Round #245 (Div. 1)——Working out
    泛泰A900 刷4.4专用中文TWRP2.7.1.1版 支持自己主动识别手机版本号(全球首创)
    实现简答LinkedList
    oracle的内存管理(之中的一个)
  • 原文地址:https://www.cnblogs.com/youran-he/p/7574648.html
Copyright © 2020-2023  润新知