是否可以通过与太阳黑子的关联进行索引?
例如,如果一个 Customer 有_many Contacts,我希望在我的 Customer 模型上有一个“可搜索”块,用于索引 Contact#first_name 和 Contact#last_name 列以用于对 Customer 的搜索。
act_as_solr 有一个 :include 选项。我只是将关联的列名称组合到 Customer 上的文本字段中,如下所示,但这似乎不太灵活。
searchable do
text :organization_name, :default_boost => 2
text :billing_address1, :default_boost => 2
text :contact_names do
contacts.map { |contact| contact.to_s }
end
有什么建议?
最佳答案
这正是如何做到的。 Solr 本质上是面向文档的,因此来自数据库中关联的任何数据都被压缩到您的文档中。一个 :include 选项只是温和的糖,最终会做你在这里做的同样的事情。
关于ruby-on-rails - Sunspot/Solr 全文搜索 - 如何索引 Rails 关联,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2615535/