0

我在 Rails (2.3.11) 应用程序中有几个模型是使用 STI 构建的,它们的排列方式如下:

Gallery::Base < ActiveRecord::Base(为 SOLR 编制索引)

Gallery::Local < Gallery::Base (为 SOLR 编制索引)

Gallery::Remote < Gallery::Base (未编入索引)

我发现关于这些模型的索引的不同结果。在我当前的开发数据库中,我有 77个Gallery::Local对象并且没有Gallery::Remote对象(这也意味着数据库中有 77 个Gallery::Base对象)

Sunspot.search(Gallery::Base)问题是,要么Sunspot.search(Gallery::Local)返回单次命中。

现在对于陌生的部分:在使用生产数据库(具有数百个Gallery::Local对象)的同事的计算机上,无论从Sunspot.search(Gallery::Base)Sunspot.search(Gallery::Local)

附带说明一下,我尝试在Gallery::Base和上Gallery::Local分别设置索引并重新索引,结果相同。我还有许多其他索引模型,全文搜索按预期工作。

有人知道是什么原因造成的吗?

4

1 回答 1

1

确实发现了问题所在。如果有人感兴趣,该sunspot:reindex任务不会考虑命名空间和“模块化”模型。

在 github 上查看这个pull request以获得修复(转到 Diff 部分)。

于 2011-03-25T10:28:44.213 回答