有关我的应用的一些信息:
多租户意味着同一型号的ID重叠。
我想到的第一件事就是使用searchkick的index_prefix
,将index_prefix
设置为不同的租户名称。但我意识到这不会起作用,因为在应用程序启动时会设置index_prefix
的值。同样的价值将始终存在。
答案 0 :(得分:0)
我收到了searchkick创建者的回复,这是不可能的。
https://github.com/ankane/searchkick/issues/268#issuecomment-53672954
现在我可能会寻找一些猴子补丁替代品。
答案 1 :(得分:0)
我们正在做的是向searchkick发送一个像这样的
的index_namesearchkick autocomplete: ["some_fields_for_auto_complete"],
index_name: -> { [Apartment::Tenant.current, model_name.plural, Rails.env].join('_') }
这将为不同的租户创建不同的searchkick索引,并且在查询期间运行良好。虽然在必须重新索引时要小心为所有租户重建索引模型。
答案 2 :(得分:0)
自2017年1月16日起,Searchkick似乎已添加了多租户支持。在https://github.com/ankane/searchkick#multi-tenancy处进行检查。