我正在尝试使用ElasticsearchTemplate更新我的es数据,代码如下:
UpdateRequest updateRequest = new UpdateRequest();
updateRequest.index(RiskViewDevStatistics.ESIndex);
updateRequest.type(RiskViewDevStatistics.ESType);
try {
updateRequest.doc(XContentFactory.jsonBuilder().startObject()
.field("owner",ownerId)
.endObject());
UpdateQuery updateQuery = new UpdateQueryBuilder().withId("docId")
.withClass(RiskViewDevStatistics.class).withUpdateRequest(updateRequest).build();
esTemplate.update(updateQuery);
代码类似于:
update owner from xx where id = xx
当我传入的参数ownerId为null时,es中的数据为:
"hits": {
"total": 1,"max_score": 1.0,"hits": [
{
"_index": "st-riskview","_type": "riskviewdevstatistics","_id": "AW47Wy7cEY_O-MqaGSGL","_score": 1.0,"_source": {
"owner": null // null
}
}
]
}
我的问题是: 如何删除此字段而不是将其设置为null?
注意:我不想替换全部文档。