繁体   English   中英

如何通过 bulkrequest 更新嵌套的 elasticsearch 值?

[英]How to update nested elasticsearch value via bulkrequest?

我们正在使用 AWS Elasticsearch - 7.7 版本

我已经使用 Java API 在 ElasticSearch 的索引中关注了更新嵌套字段

我有以下 JSON 弹性搜索

 {
    "_index": "product",
    "_type": "_doc",
    "_source": {
        "id": 1,
        "name": "test",
        "properties": [{
            "id": 1,
            "qty": 10
        }]
    }
}

我有以下代码

 BulkRequest request = new BulkRequest();
 request.add(new UpdateRequest(<ES Endpoint>, 1))
                        .doc(XContentType.JSON, "name", "TEST 1"));
BulkResponse bulkResponse = restClient.bulk(request, RequestOptions.DEFAULT);   

我应该如何更新“属性”值“数量”?

https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.8/java-docs-update.html

您可以通过 Map 在doc()调用中更新所有字段:

Map doc = new HashMap();
doc.put("name", "TEST 1");
doc.put("qty", 12);
request.add(new UpdateRequest("index", 1)
                    .doc(XContentType.JSON, doc));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM