Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elasticsearch中的BulkRequest java API出错:“0”;传递的对象数必须为偶数,但为[1]”;_Java_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch - Fatal编程技术网 elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

Elasticsearch中的BulkRequest java API出错:“0”;传递的对象数必须为偶数,但为[1]”;

Elasticsearch中的BulkRequest java API出错:“0”;传递的对象数必须为偶数,但为[1]”;,java,elasticsearch,Java,elasticsearch,我正在尝试将map与ElasticSearchJavaAPI的批量插入Api一起使用 public void bulkInsert(List<Map<String,String>> listOfObjects ){ BulkRequestBuilder bulkRequest = client.prepareBulk(); Iterator<Map<String,String>> itr = listOfObjects.ite

我正在尝试将map与ElasticSearchJavaAPI的批量插入Api一起使用

public  void bulkInsert(List<Map<String,String>> listOfObjects ){

    BulkRequestBuilder bulkRequest = client.prepareBulk();

    Iterator<Map<String,String>> itr = listOfObjects.iterator();

    if (itr.hasNext()){
        Map<String,String> document = itr.next();
        bulkRequest.add(client.prepareIndex(index, type)
                .setSource(document));
    }

    BulkResponse bulkResponse = bulkRequest.execute().actionGet();


    if (bulkResponse.hasFailures()) {
        System.out.println(bulkResponse.buildFailureMessage());
    }   

}
public void bulkInsert(对象列表){
BulkRequestBuilder bulkRequest=client.prepareBulk();
迭代器itr=listOfObjects.Iterator();
if(itr.hasNext()){
Map document=itr.next();
bulkRequest.add(client.prepareIndex(索引,类型)
.setSource(文件);
}
BulkResponse BulkResponse=bulkRequest.execute().actionGet();
if(bulkResponse.hasFailures()){
System.out.println(bulkResponse.buildFailureMessage());
}   
}
我把这个叫做

Map<String,String> jsonMap = new HashMap<String,String>();

    jsonMap.put("name", fullName.toString());
    jsonMap.put("file", file);

    List<Map<String,String>> listOfObjects = new ArrayList<Map<String,String>>();
    listOfObjects.add(jsonMap);
    indexService.bulkInsert(listOfObjects);
Map jsonMap=newhashmap();
put(“name”,fullName.toString());
put(“文件”,file);
List-listOfObjects=new-ArrayList();
add(jsonMap);
index.service.bulkInsert(对象列表);
我得到了以下例外 传递的对象数必须为偶数,但为[1]正常我得到了修复: 使用
Map
代替
Map

Map jsonMap=newhashmap();
put(“name”,fullName.toString());
put(“文件”,file);
List-listOfObjects=new-ArrayList();
add(jsonMap);
index.service.bulkInsert(对象列表);
来自

使用地图

映射是一个键:值对集合。它表示一个JSON结构:

Map<String, Object> json = new HashMap<String, Object>();
json.put("user","kimchy");
json.put("postDate",new Date());
json.put("message","trying out Elasticsearch");
Map json=new HashMap();
put(“user”,“kimchy”);
put(“postDate”,newdate());
put(“消息”,“尝试Elasticsearch”);

看起来有一个
jsonBuilder().startObject()
对象可以帮助解决这些类型的问题。
Map<String, Object> json = new HashMap<String, Object>();
json.put("user","kimchy");
json.put("postDate",new Date());
json.put("message","trying out Elasticsearch");