elasticsearch - 如何在 Elasticsearch 中的字段上强制唯一性以避免重复
问题描述
@Repository
public interface FooRepository extends ElasticsearchRepository<Foo, String> {
Foo findByName(String name);
}
如何在 Elasticsearch 中的字段上强制唯一性以避免重复,我希望名称在 Foo 中是唯一的。有没有办法使用 FieldType 元数据来强制执行此操作
解决方案
Elasticsearch 中字段的唯一性仅针对 id 字段得到保证,如果您在尝试更新相同的 id 值时想要出错,您可以在 index-API 中使用op_type=create。
Elastic 的讨论和 stackoverflow 上有几篇文章确认了相同的行为。
推荐阅读
- react-native - 如何导航到特定屏幕并禁止使用 react-native-navigation 返回
- r - 作为列表提供的参数未得到正确评估
- sql - 如何将 SQL Server 列转换为行?
- symfony-2.8 - JWT Token 总是返回 Not Found Symfony2.8
- hadoop - 如何在 Hadoop Streaming 中处理 2 个具有不同输入格式的文件?
- kubernetes - 如何避免在 kubernetes http liveness 和 readiness 探针中编码?
- c - 时钟的性能计时
- python - Apache Tika 排除了一些 html 标签
- dart - 在颤动中占据整个高度,同时为其他小部件保持一些高度
- bash - PostgreSQL 交互式终端:用单引号或双引号传递参数 - 有什么区别吗?