问题描述
是否可以在Spring Data Elasticsearch中创建与RDBMS中的@Column(unique = true)
相等的唯一约束?
不幸的是,@Field
注释没有Unique
参数。
也许我可以使用@Id
,但是如果还有其他字段,例如用户名,电子邮件,...呢?
解决方法
它们在Elasticsearch中没有唯一约束。 您可以像本博文中所述将字段用作_id: How to create unique constraint in Elasticsearch database?
否则,您将必须自己创建一个验证器以测试某个词条查询中该值是否存在。
添加:尽管发送到Elasticsearch的{{1}}参数将提供此功能,但Spring Data Elasticsearch目前不支持此标志。您可以投票给an issue in Jira。