允许用户在 ElasticSearch 索引中定义任意键
Allowing users to define arbitrary keys in ElasticSearch index
我的团队在项目中使用 SearchKick (Rails) 与 ElasticSearch 交互。
一个索引(联系人)由大约 10 个通用的可搜索字段组成,例如姓名、电子邮件、生日、年龄等
此外,我们需要允许程序的用户在一组预定义类型(字符串、整数、布尔值等)中创建自己的自定义字段。
计划是要么为每个用户创建一个唯一索引(实际上可以扩展到低 4 位数字),要么使用单个联系人索引并更新映射以每次添加一个新的自定义字段。我假设整个程序中自定义字段的实际上限为 5k。
唯一索引方法似乎在某些时候肯定会遇到缩放问题。在这种情况下是否符合标准?
如果每个文档仅包含 10 - 20 个字段,那么将那么多字段添加到索引的映射中是否会产生巨大的性能成本?
这里还有其他标准方法吗?
我的团队在项目中使用 SearchKick (Rails) 与 ElasticSearch 交互。
一个索引(联系人)由大约 10 个通用的可搜索字段组成,例如姓名、电子邮件、生日、年龄等
此外,我们需要允许程序的用户在一组预定义类型(字符串、整数、布尔值等)中创建自己的自定义字段。
计划是要么为每个用户创建一个唯一索引(实际上可以扩展到低 4 位数字),要么使用单个联系人索引并更新映射以每次添加一个新的自定义字段。我假设整个程序中自定义字段的实际上限为 5k。
唯一索引方法似乎在某些时候肯定会遇到缩放问题。在这种情况下是否符合标准?
如果每个文档仅包含 10 - 20 个字段,那么将那么多字段添加到索引的映射中是否会产生巨大的性能成本?
这里还有其他标准方法吗?