Elasticsearch 6添加数据踩坑The number of object passed must be even but was [1]

由于参考的是es5 javaAPI的代码,实验过程报如题的错误

public static void insert_man(TransportClient client, String id,String name,String city,double age) {
	旧代码
	MyObj obj = new MyObj();
	obj.setName(name);
	obj.setAge(age);
	obj.setCity(city);

	String json = JSONObject.toJSONString(obj);

	IndexResponse response = client.prepareIndex("city_"+city.toLowerCase(), "city_man", id)

.setSource(json).get();
//需要改成新代码,
//1.不用json做setSource的参数,用map
//2.用BulkRequestBuilder
Map source = new HashMap();
source.put(“name”, name);
source.put(“age”, age);
source.put(“city”, city);

	BulkRequestBuilder bulkRequest = get_client().prepareBulk();

	IndexRequest request = null;

	request = get_client()
			.prepareIndex("city_"+city.toLowerCase(), "city_man", id).setSource(source)
			.request();
	bulkRequest.add(request);


}

你可能感兴趣的:(ES)