Я использую act_as_solr для поиска в проекте. К сожалению, индекс не обновляется для связанных моделей при сохранении модели.
Пример:
У меня есть три модели:
class Merchant < ActiveRecord::Base
acts_as_solr :fields => [:name, :domain, :description], :include => [:coupons, :tags]
...
end
class Coupon < ActiveRecord::Base
acts_as_solr :fields => [:store_name, :url, :code, :description]
...
end
class Tag < ActiveRecord::Base
acts_as_solr :fields => [:name]
...
end
Я использую следующую строку для поиска:
Merchant.paginate_by_solr(params[:q], :per_page => PER_PAGE, :page => [(params[:page] || 1).to_i, 1].max)
По какой-то причине после добавления купона со словом «обувь» в описании запрос «обувь» не возвращает продавца, связанного с купоном. Все ассоциации работают, и если я запускаю rake solr: reindex, поиск возвращает новый купон.
Нужно ли обновлять индекс Merchant каждый раз при создании нового купона? Нужно ли обновлять индекс для всего класса или я могу просто обновить ассоциированного продавца?
Разве это не должно быть сделано автоматически?