1.失败,使用TransportClient

    public static void bulkInsert(TransportClient client) throws IOException {List<Person> ps=new ArrayList<Person>();Person one=new Person();one.setId("1");one.setAddress("add");one.setMobile("1111");one.setSex("f");one.setUsername("www");ps.add(one);Person two=new Person();two.setId("2");two.setAddress("add");two.setMobile("2222");two.setSex("f");two.setUsername("www");ps.add(two);Persons pss=new Persons();pss.setPersons(ps);pss.setUuid("uiid");String jsonStr=JSON.toJSONString(pss);System.out.println(jsonStr);IndexResponse response = client.prepareIndex("www", "www").setSource(jsonStr).get();System.out.println("创建成功!");}

原因是:setSource方法不支持json,源码如下:

    /*** Constructs a simple document with a field name and value pairs.* <p>* <b>Note: the number of objects passed to this method must be an even* number. Also the first argument in each pair (the field name) must have a* valid String representation.</b>* </p>*/public IndexRequestBuilder setSource(Object... source) {request.source(source);return this;}

2.成功,使用RestHighLevelClient 可以直接使用json

    public static void InsertByJson(RestHighLevelClient client) throws IOException {List<Person> ps=new ArrayList<Person>();Person one=new Person();one.setId("1");one.setAddress("add");one.setMobile("1111");one.setSex("f");one.setUsername("www");ps.add(one);Person two=new Person();two.setId("2");two.setAddress("add");two.setMobile("2222");two.setSex("f");two.setUsername("www");ps.add(two);Persons pss=new Persons();pss.setPersons(ps);pss.setUuid("uiid");String jsonStr=JSON.toJSONString(pss);System.out.println(jsonStr);IndexRequest req = new IndexRequest("www", "www");    req.source(jsonStr, XContentType.JSON);IndexResponse response = client.index(req);System.out.println("创建成功!");}

转载于:https://www.cnblogs.com/davidwang456/p/9984516.html

The number of object passed must be even but was [1]相关推荐

  1. 解决:elasticsearch 更新报错:The number of object passed must be even but was [1]

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 错误的代码写法: @Autowiredprivate ElasticsearchOperati ...

  2. 【elasticsearch】The number of object passed must be even but was [1]

    1.概述 The number of object passed must be even but was [1] ES 在调用 setSource 的时候传入 Json 对象后会报错:The num ...

  3. 2021年大数据ELK(十三):Elasticsearch编程(添加职位数据)

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch编程 一.添加职位数据 1.初始化客户端连接 2.实 ...

  4. Elasticsearch+Spring Boot集成实践

    ELK-技术栈 Elasticsearch 简介 ​ Elasticsearch 是一个分布式.RESTful 风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例. 作为 Elastic Stac ...

  5. JavaScript内置对象→对象、系统函数、Date日期对象、String字符串对象、Math对象、Number数字对象、Object对象、Boolean对象、Error对象

    对象 系统函数 Date日期对象 String字符串对象 Math对象 Number数字对象 Object对象 Boolean对象 Error对象

  6. JavaScript 复制对象与Object.assign方法无法实现深复制

    在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型.基本数据类型包括Number.Boolean.String.Null.String.Symbol(ES6 新增),而复 ...

  7. 通过 Object.prototype.toString.call() 进行类型判断

    为什么80%的码农都做不了架构师?>>>    首先看一段ECMA中对Object.prototype.toString的解释: Object.prototype.toString( ...

  8. Java泛型中? 和 ? extends Object的异同分析

    点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 作者 | 刘一手 来源 | 公众号「锅外的大佬」 Jav ...

  9. ECMA262 Edition5 Object,Object的属性和方法,Object.prototype的方法.

    ES5,为Object添加了一批方法.了解这些方法,可以更好的理解属性描述符的应用. 所以还是很有必要读一读的.另外,这些方法用起来还是蛮给力的. 暂时对于ES5,就只放出这些吧,希望对大家有所帮助. ...

最新文章

  1. java学习笔记—校验码的实现(15)
  2. 2018.09.24-2018.09.30
  3. linux怎么创建扩展分区,Linux磁盘创建扩展分区
  4. QT事件的接受与忽略
  5. mysql 求两列数据组合_mysql – 将两个具有不同列数的查询组合在一起
  6. 案例篇-HBase 实战之 MOB 使用指南
  7. 【车间调度】基于matlab粒子群算法求解6X6车间调度问题【含Matlab源码 411期】
  8. 七年之后的《深入理解计算机系统》
  9. Ubuntu18.04安装中文字体SimHei
  10. 计算机的管理选项文件错误,如何修复Microsoft Teams错误文件在Windows PC中被锁定...
  11. 自考计算机离散数学,计算机及应用自考资料2014 10 离散数学02324.doc
  12. 【周五松土】私家萝卜与坑
  13. NoSQL数据库介绍(7)
  14. 阿里数据仓库-数据模型建设方法总结(全)
  15. Linux性能优化实战学习笔记:第四十六讲=====实战分析
  16. 使用手机软件Bluino Loader通过蓝牙编程、烧录Arduino
  17. 重装系统:cdboot:couldn't find ntldr
  18. 2021年河南省高考数据统计:河南省参加考试人数占报名人数的83.7%,本土156所高校(1所211大学)
  19. ui配色方案_开放色彩–针对设计师的UI优化配色方案
  20. 使用NetBox实现ASP网页封装为EXE教程

热门文章

  1. Android实训日志:基于外部存储的音乐播放器V05
  2. 前端命名规范_前端开发工程师如何突破年薪50万?这里有4点建议
  3. 英语口语智能测试软件,口语易英语口语智能评测训系统 官方版v7.9
  4. 计算机应用基础2004年,计算机应用基础2004年下半年全国试题参考答案2
  5. cpu序列号能告诉别人嘛_微信这个开关不删除,别人手机能随意登录你的微信,学会告诉家人...
  6. linux 踢出其他用户,Linux查看当前登录用户并踢出用户
  7. java 创建string_Java 如何创建一个String
  8. word回车后间距太大_Word这些神奇的功能,你知道多少?学会这4招,工作不再发愁...
  9. 安卓禁止ScrollView内的控件改变之后自动滚动
  10. linux自动对齐命令,linux查看硬盘4K对齐方法