弹簧数据弹性搜索中场的唯一约束

问题描述

是否可以在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