5

我有沙发数据库。太阳黑子正确地索引了一切。但是 Solr 服务器崩溃了。我需要重新索引整个事情。rake sunspot:reindex 不会工作,因为它与活动记录紧密结合。sunspot.index(model.all) 没有工作。即使在这样做之后,solr 核心也会说 0 个索引文档。有出路吗?

4

3 回答 3

14

Post.solr_reindex

有许多选项可以传递给 solr_reindex。与索引相同的选项;从文档

分批索引 50 个,每次提交后提交

Post.index 

一次索引所有行,然后提交

Post.index(:batch_size => nil) 

以 50 个批次为索引,在所有批次完成时提交

Post.index(:batch_commit => false) 

加载到索引时包含关联的 +author+ 对象

Post.index(:include => :author) 
于 2011-12-07T23:43:09.633 回答
3

我一直在寻找的是:

Post.index!(Model.all)

当我假设批量提交会自动发生时,发生了一些不好的事情。无论如何,这对我来说都很好。

于 2011-12-10T04:53:54.390 回答
2

我通常写下面的命令来索引模型。它每次都能完美运行。

对于模型,即(帖子)

Sunspot.index Post.all

对于模型行,即 (Post.where(id: 5))

Sunspot.index Post.where(id: 5)

它会起作用的。

干杯!

于 2015-05-15T06:56:20.347 回答