我将Elasticsearch用作文档数据库,并且我创建的每个记录都有一个GUID ID,系统将其用作记录ID。商界人士希望提供一种功能,使用户可以基于日期和迄今为止在这一天/每月创建的记录数来拥有自己的自动文件名约定。
我需要防止重复的用户文件名。有没有一种方法可以将索引字段设置为唯一?像sql唯一约束一样?
您需要使用应该唯一的字段作为文档的ID。默认情况下,具有现有ID的新文档将覆盖具有相同ID的现有文档,但是op_type=create如果已经存在具有相同ID的文档,则可以切换到该文档以获取错误。
op_type=create
但是,无法对任意字段具有相同的行为,只有该_id字段可以那样工作。我可能会考虑在应用程序层而不是在Elasticsearch中处理此逻辑。
_id