如何在 Spring Data Elasticsearch 的 IndexQuery 上设置 OpType

How to set OpType on IndexQuery in Spring Data Elasticsearch

假设 spring-boot-starter-data-elasticsearch 版本 2.1.0.RC1.

采用以下简单的实体索引实现:

IndexQuery indexQuery = new IndexQueryBuilder().withId(entity.getId()).withObject(entity).build();
String id = elasticsearchTemplate.index(indexQuery);

如何在此操作中设置 OpType.CREATE,以便我可以确保仅索引尚不存在的文档?

等效的 REST API 请求如下所示:

POST /{index}/{entity id}?op_type=create
{
    "id" : "{entity id}",
    "attribute" : "value"
}

Spring Data ES 目前不支持此功能。

有一个未解决的问题准确地报告了该功能,您可能想检查一下:https://jira.spring.io/browse/DATAES-247