bounty将在3天后过期。回答此问题可获得+50声望奖励。wiwit希望引起更多人关注此问题。
我使用的是rails-on-services/apartment,这是针对Rails和ActiveRecord的多租户
我的设置是,每次我创建一个租户时,gem都会自动为新租户创建一个特定的模式。
每次我运行rails sunspot:reindex
的记录将不会出现在搜索级别。但在ActiveRecord
(ex.Client.all)的记录是有。
我的理论是我创建的租户没有重新索引。有没有办法重新索引特定的模式?或者我错过了什么?
1条答案
按热度按时间sf6xfgos1#
新租户的记录可能没有被索引,因为Sunspot配置不知道由apartment gem创建的新模式。一个可能的解决方案是设计您自己的Sunspot::设置架构搜索路径以在SessionProxy中包含新架构。以下是您在config/initializers/sunspot.rb中的操作方法:
但是,您必须知道,修改schema_search_path将影响ActiveRecord在当前线程中执行的所有查询。您必须在Sunspot重新索引完成后将其还原为原始schema_search_path值。