【发布时间】:2018-04-26 21:52:50
【问题描述】:
我最近开始使用 ElasticSearch 和 searchkick gem 来索引我的数据库数据。默认情况下,searchkick gem 将索引模型的所有列,但我只想索引活动项目(如已发布的帖子)。例如-
#####in shop.rb
has_many :dealers
has_one :address
has_one :contact
...blah blah and more has many
###my index data
def search_data
{
##XXXXXXXX why cant i use this XXXXXXXXX
###active: true,
name: name, index: "not_analyzed",
capacity: capacity.to_i,
slug: slug,
### i need to add active to so that i can use where(:active => true) in search
active: active,
event_type_name: event_types.map(&:name),
facility_name: facilities.map(&:name),
ratings: ratings.map(&:stars),
location: [self.address.latitude, self.address.longitude],
picture_url: pictures.select{|p| p == pictures.last}.map do |i|{
original: i.original_url
}
end
}
end
上面的索引是否正确? 如何仅索引那些 active 属性值为 true 的商店?
【问题讨论】:
-
为什么它被否决了?这个问题没有意义吗?
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 elasticsearch searchkick