假设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

关于elasticsearch - 如何在Spring Data Elasticsearch中的IndexQuery上设置OpType,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53045966/

10-15 04:37