【发布时间】:2018-07-08 17:13:13
【问题描述】:
我的 elasticSearch 中有很多数据。 其中一个例子是,
{
"_index": "some_index",
"_type": "some_type",
"_id": "AWDpmuZ9u4O0tj_RL7Zr",
"_score": 1,
"_source": {
"avro_schema": "some_data",
"md_type": "AA"
}
我想删除这个对象 - "avro_schema": "some_data",。
仅当 md_type 是所有文档中的 AA 时。
我想写一个 JAVA API 来在 elasticSearch 中执行这个动作。
到目前为止,我已经做到了..
BoolQueryBuilder query = new BoolQueryBuilder();
query.should(QueryBuilders.boolQuery().must(QueryBuilders.existsQuery("md_type\":\"AA")));
UpdateByQueryRequestBuilder ubqrb = UpdateByQueryAction.INSTANCE.newRequestBuilder(client);
Script script = new Script("ctx._source.remove('avro_schema')");
BulkByScrollResponse response = ubqrb.script(script)
.filter(QueryBuilders.termQuery("md_type", "AA"))
.get();
【问题讨论】:
标签: java json api elasticsearch elasticsearch-5