Ruby on rails 太阳黑子无法索引一个整数,它属于id字段

Ruby on rails 太阳黑子无法索引一个整数,它属于id字段,ruby-on-rails,ruby,sunspot,sunspot-rails,Ruby On Rails,Ruby,Sunspot,Sunspot Rails,在太阳黑子的例子中,属于:blog关联在可搜索的块内索引,带有整数:blog\u id。稍后,可以使用带有(:blog_id,1)的将搜索限制到特定博客 如果您已经这样做了,除了关联是针对零售商,并且索引位于零售商id。但是,在搜索时,只要我将与(:retailer\u id,4)一起使用,就不会返回任何结果。如果不使用此条件,则返回的所有结果都有一个retailer\u id=4 我多次重新编制索引。我试过太阳黑子轨道1.3.3和2.0.0 所有其他文本字段似乎都索引良好 Rails日志中显示

在太阳黑子的例子中,
属于:blog
关联在
可搜索的
块内索引,带有
整数:blog\u id
。稍后,可以使用带有(:blog_id,1)
将搜索限制到特定博客

如果您已经这样做了,除了关联是针对
零售商
,并且索引位于
零售商id
。但是,在搜索时,只要我将
与(:retailer\u id,4)
一起使用,就不会返回任何结果。如果不使用此条件,则返回的所有结果都有一个
retailer\u id=4

我多次重新编制索引。我试过太阳黑子轨道1.3.3和2.0.0

所有其他
文本
字段似乎都索引良好

Rails日志中显示的查询(转到solr)似乎包含正确的字段


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

在尝试
Sunspot.index(Item.first)
并看到xml确实包含零售商id后,我检查了rake任务完成的导入日志

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

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