Ruby on rails 4 如何在algolia rails中设置objectID的值?

Ruby on rails 4 如何在algolia rails中设置objectID的值?,ruby-on-rails-4,indexing,algolia,Ruby On Rails 4,Indexing,Algolia,我在rails应用程序中使用algolia gem。我目前正在将3个不同的模型合并到一个索引中,以便对我们的案例研究、博客文章和视频进行组合搜索 由于Algolia似乎使用rails生成的ID映射到objectID列,为一个模型编制索引将覆盖另一个模型中的对象,因此我遇到了麻烦 posts.rb video.rb和case_studies.rb 同样,对于视频,我尝试将attribute:objectID设置为“v{id}”,对于案例研究,我尝试将attribute:objectID设置为“c{

我在rails应用程序中使用algolia gem。我目前正在将3个不同的模型合并到一个索引中,以便对我们的案例研究、博客文章和视频进行组合搜索

由于Algolia似乎使用rails生成的ID映射到objectID列,为一个模型编制索引将覆盖另一个模型中的对象,因此我遇到了麻烦

posts.rb video.rb和case_studies.rb 同样,对于视频,我尝试将
attribute:objectID设置为“v{id}”
,对于案例研究,我尝试将
attribute:objectID设置为“c{id}”

这种虚拟属性样式不起作用,所以我尝试在db和reindex上创建一个实际的字符串列,但没有成功

如果这里有人有任何想法,我会非常感激,而且我的想法已经不多了。

您可以使用每个模型的内部

模型内部

def custom_algolia_id
  "v#{id}"
end

algoliasearch id: :custom_algolia_id do
  attribute :title, :length
end
def custom_algolia_id
  "v#{id}"
end

algoliasearch id: :custom_algolia_id do
  attribute :title, :length
end