2013-03-04 35 views
0

在太阳黑子sunspot.github.com的示例中,belongs_to :blog关联在searchable块内与integer :blog_id索引。稍后,可以使用with(:blog_id, 1)将搜索限制在特定的博客中。太阳黑子无法索引整数belongs_to id字段

如果已经这样做,除了关联为retailer并且索引在retailer_id。然而,在搜索时,我一旦使用with(:retailer_id, 4)就没有结果返回。如果这种情况停止,则返回的所有结果都有retailer_id = 4

我已重新编制索引,无数次。我已经尝试了sunspot_rails 1.3.3和2.0.0。

所有其他text字段似乎索引良好。

在Rails日志中显示的查询将显示为solr,其中包含正确的字段。

还有什么可能导致这种情况?

回答

0

尝试Sunspot.index(Item.first)后发现xml包含retailer_id。我检查了由rake任务完成的导入日志。

事实证明,我遇到的问题是因为在调用DataMapper.finalize之后DataMapper不会创建关联属性。这绝不会发生作为包含sunspot_rails tasks.rb重建索引的一部分。

我的快速解决方案是简单地复制rake任务,并在所有模型都需要后添加调用来完成。