elasticsearch,updates,elasticsearch-high-level-restclient,Java,elasticsearch,Updates,Elasticsearch High Level Restclient" /> elasticsearch,updates,elasticsearch-high-level-restclient,Java,elasticsearch,Updates,Elasticsearch High Level Restclient" />

Java 将地图复制到弹性搜索';s更新文档请求

Java 将地图复制到弹性搜索';s更新文档请求,java,elasticsearch,updates,elasticsearch-high-level-restclient,Java,elasticsearch,Updates,Elasticsearch High Level Restclient,我想在Elastic Search的Java高级REST客户端API中,将HashMap中的一组键值对添加到UpdateRequest函数的请求体中 我可以成功地在HashMap中循环并取出键和值。如何以干净高效的方式将这些添加到生成器中? 更新:新日期(),动物:鳄鱼 代码是一个占位符,表示我希望通过HashMap中的真实数据实现的内容 这是我在弹性搜索中使用的文档。 我们使用的是7.5.2版 public void updateDocument(@PathParam(“index_name

我想在Elastic Search的Java高级REST客户端API中,将HashMap中的一组键值对添加到UpdateRequest函数的请求体中

我可以成功地在HashMap中循环并取出键和值。如何以干净高效的方式将这些添加到生成器中?

更新:新日期(),动物:鳄鱼

代码是一个占位符,表示我希望通过HashMap中的真实数据实现的内容

这是我在弹性搜索中使用的文档。 我们使用的是7.5.2版

public void updateDocument(@PathParam(“index_name”)字符串index_name,
@PathParam(“文档id”)字符串文档id,HashMap列值)引发IOException{
RestHighLevelClient=createHighLevelRestClient();
Set keys=columnValues.keySet();
用于(字符串键:键){
系统输出打印项次(键);
System.out.println(columnValues.get(key));
}
XContentBuilder=XContentFactory.jsonBuilder();
builder.startObject();
{
builder.timeField(“更新”,新日期());
建筑工地(“动物”、“鳄鱼”);
}
builder.endObject();
UpdateRequest=newupdateRequest(
索引(文件名、文件id);
request.docAsUpsert(true).doc(builder);
UpdateResponse UpdateResponse=client.update(
request,RequestOptions.DEFAULT);
System.out.println(更新响应);
client.close();
这很有效

        XContentBuilder builder = XContentFactory.jsonBuilder();
    builder.startObject();
    for (String key : keys) {
        System.out.println(key);
        System.out.println(columnValues.get(key));
        builder.field(key, columnValues.get(key));
    }
    builder.endObject();
        XContentBuilder builder = XContentFactory.jsonBuilder();
    builder.startObject();
    for (String key : keys) {
        System.out.println(key);
        System.out.println(columnValues.get(key));
        builder.field(key, columnValues.get(key));
    }
    builder.endObject();