spring 数据 elasticsearch 中字段的唯一约束

Unique constraint on field in spring data elasticsearch

可以在 Spring Data Elasticsearch 中创建等于 RDBMS 中的 @Column(unique = true) 的唯一约束吗?

很遗憾,@Field 注释没有 Unique 参数。 也许我可以使用 @Id 但如果还有其他字段,如用户名、电子邮件、......怎么办?

它们在 Elasticsearch 中不是唯一约束。 您可以将您的字段用作 _id,如 post 中所述: How to create unique constraint in Elasticsearch database?

或者您必须自己创建一个验证器来测试该值是否存在于某个术语查询中。

补充:虽然发送给Elasticsearch的op_type参数会提供这个功能,但是目前在Spring Data Elasticsearch中不支持这个标志。有 an issue in Jira 个你可以投票。