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());
        }
  • 相关阅读:
    mysql 安全
    选择年份 php的写法要比js简洁一些
    PHP for 循环
    vb和php 基于socket通信
    PHP 数组和字符串互相转换实现方法
    php中对2个数组相加的函数
    开启mysql sql追踪
    幸运码
    系统管理模块_岗位管理_改进_使用ModelDroven方案_套用美工写好的页面效果_添加功能与修改功能使用同一个页面
    系统管理模块_岗位管理_实现CRUD功能的具体步骤并设计Role实体
  • 原文地址:https://www.cnblogs.com/hxjz/p/14705946.html
Copyright © 2011-2022 走看看