zoukankan      html  css  js  c++  java
  • elasticsearch RestHighLevelClient 关于document的常用操作 ---------- 编辑篇

    es中的编辑分为:基于id的单条件编辑、自定义条件的编辑

    基于id的单条件编辑:UpdateRequest

    基于自定义条件的编辑:需借助底层脚本语言来实现,成本较高暂时不打算深入研究

      //es单条操作--修改文档(记录)
      public String editEsDocument(){ //开始设置属性 Elasticsearch elasticsearch = new Elasticsearch(); elasticsearch.setUserName("张三"); elasticsearch.setAge(190); elasticsearch.setSex("男"); //创建修改文档的请求对象 UpdateRequest updateRequest = new UpdateRequest(); //指定要操作哪个索引下的那个id的值 updateRequest.index("user").id("sAMC7XgBrgVVHTXvmYL_"); //以json格式添加文档信息 updateRequest.doc(XContentType.JSON , "userName" , elasticsearch.getUserName(), "age" , elasticsearch.getAge(), "sex" , elasticsearch.getSex()); //像es服务器发送请求 UpdateResponse update = null; try { update = this.client.update(updateRequest, RequestOptions.DEFAULT); } catch (IOException e) { e.printStackTrace(); } System.out.println("update es index _index is : " + update.getIndex()); System.out.println("update es index _id is : " + update.getId()); System.out.println("update es index _result is : " + update.getResult()); return "edit es index complete"; }

    特殊情况:

    基于ID的map数据类型修改操作

    针对map数据类型的修改操作,可以依托实体类或自定义条件时设置的数据结构来进行,无须特殊处理。

        public void mapTestUpdate(){
    
            //通过实体类做修改属性
            Map map = new HashMap();
            map.put("数学" , "99");
    //        Person person = new Person();
    //        person.setAge(66);
    //        person.setScoure(map);
    
            //通过自己拼装数据来修改属性
            Map attrMap = new HashMap();
            attrMap.put("age" , 25);
            attrMap.put("scoure" , map);
    
            //指定要操作哪个索引下的那个id的值
            UpdateRequest updateRequest = new UpdateRequest();
            updateRequest.index("map_test");
            updateRequest.id("9Pztx3kB0gyd9uM48juS");
    //        updateRequest.doc(com.alibaba.fastjson.JSON.toJSONString(person) , XContentType.JSON);
            updateRequest.doc(com.alibaba.fastjson.JSON.toJSONString(attrMap) , XContentType.JSON);
    
            //像es服务器发送请求
            UpdateResponse update = null;
            try {
                update = this.client.update(updateRequest, RequestOptions.DEFAULT);
            } catch (IOException e) {
                e.printStackTrace();
            }
            System.out.println("update es index _index is : " + update.getIndex());
            System.out.println("update es index _id is : " + update.getId());
            System.out.println("update es index _result is : " + update.getResult());
        }
  • 相关阅读:
    介绍下自己的Delphi学习环境
    我所理解的Delphi中的数组类型
    字符串的基本操作
    以太网网络变压器的作用
    S3C2416 2D加速
    DM9000AEP调试的时候注意事项
    设置activity背景图片
    如何從現有的share library開發!?
    struct mntent linux挂载信息读取
    Qt中Qstring,char,int,QByteArray之间到转换
  • 原文地址:https://www.cnblogs.com/hxjz/p/14705946.html
Copyright © 2011-2022 走看看