1

Ruby on Rails - UltraSphinx

大家好,我正在使用 Ultrasphinx 进行搜索。

我的问题是:我在后台运行“rake ultrasphinx:daemon:start”。现在,我是否应该有一个定期执行“rake ultrasphinx:index”的 cron 作业,或者每当创建新对象时守护程序会负责索引。

请告诉我。这是一种紧急情况。

谢谢

4

2 回答 2

2

您将不得不运行一个 cron 作业来定期更新您的索引。但是,您可以运行 rake 任务ultrasphinx:index:delta以仅更新包含最近更改记录的增量索引。

有时,您可能还希望使用任务将增量索引合并到主索引中ultrasphinx:index:merge

希望这可以帮助。

于 2010-04-13T06:07:54.383 回答
1

如果您想使用增量索引,请将其添加到您的模型中:

is_indexed :fields => ['column1', 'column2'], :delta => true
  1. 运行 ultrasphinx 守护进程:

    rake ultrasphinx:daemon:start

  2. 添加到您的 CRON(我每 10 分钟运行一次,但最终决定完全取决于您的应用程序):rake ultrasphinx:index:delta

  3. 您需要每天运行一次 rake ultrasphinx:index:main以将增量内容移动到主索引中。

来源:官方文档

于 2010-05-15T04:24:09.417 回答