The number of object passed must be even but was [1]
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("创建成功!");
- }
The number of object passed must be even but was [1]的更多相关文章
- ES添加文档 踩坑之 —— The number of object passed must be even but was [1]
读取文件,获取json格式的数据doc, 然后使用 bulkRequestBuilder.add(client.prepareIndex(index, type, id).setSource(doc) ...
- ElasticSearch-The number of object passed must be even but was [1]-问题解决
ES版本:6.4.3 1.The number of object passed must be even but was [1] 问题代码: IndexRequest indexRequest = ...
- Javascript中类型: undefined, number ,string ,object ,boolean
var a1; var a2 = true;var a3 = 1;var a4 = "Hello";var a5 = new Object();var a6 = null;var ...
- [bug] Unrecognized token 'code': was expecting (JSON String, Number, Array, Object,'true', 'false' or 'null')
JSON格式有误,需用JSON.stringify()函数转换一下 参考 https://www.cnblogs.com/sunyanblog/p/13788740.html https://www. ...
- elasticsearch-java异常
1. Unsupported major.minor version 52.0 java的jdk版本过低导致,需要更换为jdk1.8+ 2. elasticsearch 的version在pom中提示 ...
- elasticsearch 导入基础数据并索引之 geo_point
elasticsearch 中的地理信息存储, 有geo_point形式和geo_shape两种形式 此篇只叙述geo_point, 地理位置需要声明为特殊的类型, 不显示在mapping中定义的话, ...
- SAP NUMBER RANGE维护配置object FBN1 Deletion only possible if status is initial
背景: 错误日志: SAP FBN1 Deletion only possible if status is initial 场景: 如果目标机已有NUMBER RANGE 不为0,需要删除配置年为9 ...
- Chapter 3 Discovering Classes and Object
Chatper 3 Discovering Classes and Object Exercises: 1.What is a class? A class is a template for man ...
- Directive Definition Object
不知道为什么这个我并没有想翻译过来的欲望,或许我并没有都看熟透,不好误人子弟,原版奉上. Here's an example directive declared with a Directive D ...
随机推荐
- 【Win10】实现 ListViewBase 平滑滚动
首先解释下标题的 ListViewBase 是什么鬼.ListViewBase 我们可以查阅 MSDN 文档:https://msdn.microsoft.com/zh-cn/library/wind ...
- shell模拟“多线程”
shell中并没有真正意义上的多线程,要实现"多线程"可以启动多个子进程,并将子进程放入后台执行来模拟多线程,最大程度利用CPU性能. 循环中执行并行代码 #!/bin/bas ...
- C#模拟请求,模拟登录,Cookie设置、文件上传等问题汇总
由于业务需求,最近需要模拟完成登陆某个网站,并上传所需要的文件.在开发途中,遇到了很多问题,现在,就我遇到的一些问题及解决办法说明如下,希望对遇到同样问题的人有所帮助.因为技术有限,可能有些内容并不完 ...
- winform程序更新
更新程序和主程序是分开的,得在做一个exe可执行更新程序. 主程序在登陆时判断是否需要更新. 我这边判断方式是直接在配置文件里面设置版本号,然后和服务器上面的版本对比,低于服务器版本就更新程序. // ...
- [.net]线程基础
关于线程的诞生 早期的16位Windows只有一个执行线程,在执行各种程序时,如果这个线程运行出现了问题,就会“冻结”整个系统,使得系统处于未响应状态.这是一件多么尴尬的事儿,无论是用户还是微软自己, ...
- SPOJ Substrings
题目链接:戳我 题目大意:给定一个字符串,它的长度n<=2e5.求长度1~n的子串出现的最大次数. 对于一个子串,它的出现次数是多少?就是它所在endpos集合的大小qwq(注意,这里的大小不指 ...
- keepalive 原理讲解
keepalive 我们说到keepalive的时候,需要先明确一点,这个keepalive说的是tcp的还是http的. tcp的keepalive是侧重在保持客户端和服务端的连接,一方会不定期发送 ...
- Android逆向-Android基础逆向7(内购干货集合)
本文作者:MSTLab-EvilChen 0×00 前言 首先,本来想写NDK的,但是还是先把这个流程过一遍吧,这个流程是必不可少的.其次,RMB真的是一个好东西. 导航 由于本人为了节省时间,不想贴 ...
- 【转载】Chrome 0day漏洞:不要用Chrome查看pdf文件
英文原文地址:https://blog.edgespot.io/2019/02/edgespot-detects-pdf-zero-day-samples.html 中文原文地址:https://ww ...
- SSH免密码远程登录Linux
1. 有A,B两台机(Linux/unix), 要想从A用ssh远程登录到B上(假设各自的IP,A:192.168.100:B:192.168.1.104). 2. 在A机上,用“ssh-keygen ...