重新索引在solr停机期间发生变化的模型的最佳方法是什么?

时间:2011-05-04 13:07:19

标签: lucene solr sunspot sunspot-rails

如果我有数百万条用户记录,其中一些文本字段在创建和更新时被索引到solr,我该如何返回并重新索引那些从未使它成为solr的记录?

即。如果solr在白天下降了几分钟,那么大约有300条记录从未被索引。

我不想重新索引数百万条记录,只需300条记录。

1 个答案:

答案 0 :(得分:5)

管理此方法的一种好方法是在创建和更新时将记录ID插入队列表中,然后使用稍后运行的进程来索引记录。这样,如果Solr发生故障,您不必担心哪些记录未被处理,它们将继续坐在队列中直到处理完毕。这样做的好处是您的数据库不必在完成事务之前等待solr更新完成。缺点是Solr与数据库中的内容并不完全同步。您可以调整队列读取程序的运行频率,以满足您的需求。