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调用