Я использую драгоценный камень algolia в своем приложении rails. В настоящее время я объединяю 3 разные модели в один индекс для комбинированного поиска наших тематических исследований, сообщений в блогах и видео.
У меня возникли проблемы, так как индексация одной модели перезапишет объекты из другой модели, поскольку Algolia, похоже, использует сгенерированный идентификатор rails для сопоставления со столбцом objectID.
посты.рб
algoliasearch auto_index: false, if: :open?, index_name: "combined_#{Rails.env}" do
attribute :objectID do
"p#{id}"
end
end
video.rb и case_studies.rb
Точно так же я пытаюсь установить attribute :objectID to "v#{id}"
для видео, а также установить attribute :objectID to "c#{id}"
для тематических исследований.
Этот стиль виртуального атрибута не работал, поэтому я попытался создать фактический строковый столбец в базе данных и переиндексировать его таким образом, но безрезультатно.
Если у кого-то есть какие-либо идеи здесь, я был бы очень признателен, и я иссякаю.