ruby-on-rails - Sunspot/Solr 全文搜索 - 如何索引 Rails 关联

标签 ruby-on-rails full-text-search solr sunspot

是否可以通过与太阳黑子的关联进行索引?

例如,如果一个 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/

相关文章:

Solr - 如何从我的 DataImportHandler 接收导入失败的通知?

ruby-on-rails - 远程ajax调用时是否可以使用redirect_to?

ruby-on-rails - 启动服务器绑定(bind)到 0.0.0.0 和 127.0.0.1 有什么区别?

ruby-on-rails - 有没有办法在 Windows 机器上运行 Ruby on Rails 应用程序?

solr - 如何在不区分大小写的情况下进行 Solr 搜索?

.net - 使用 Lucene.NET 索引 .PDF、.XLS、.DOC、.PPT

apache - Solr SimplePostTool 使用困惑

ruby-on-rails - Rails ActiveRecord update_all id 数组

ios - 在 iOS 包中搜索全文的工具

mysql - 当标题和文本位于两个单独的表中时,如何使用mysql全文搜索?