Ruby on Rails - UltraSphinx
大家好,我正在使用 Ultrasphinx 进行搜索。
我的问题是:我在后台运行“rake ultrasphinx:daemon:start”。现在,我是否应该有一个定期执行“rake ultrasphinx:index”的 cron 作业,或者每当创建新对象时守护程序会负责索引。
请告诉我。这是一种紧急情况。
谢谢
Ruby on Rails - UltraSphinx
大家好,我正在使用 Ultrasphinx 进行搜索。
我的问题是:我在后台运行“rake ultrasphinx:daemon:start”。现在,我是否应该有一个定期执行“rake ultrasphinx:index”的 cron 作业,或者每当创建新对象时守护程序会负责索引。
请告诉我。这是一种紧急情况。
谢谢
您将不得不运行一个 cron 作业来定期更新您的索引。但是,您可以运行 rake 任务ultrasphinx:index:delta
以仅更新包含最近更改记录的增量索引。
有时,您可能还希望使用任务将增量索引合并到主索引中ultrasphinx:index:merge
希望这可以帮助。
如果您想使用增量索引,请将其添加到您的模型中:
is_indexed :fields => ['column1', 'column2'], :delta => true
运行 ultrasphinx 守护进程:
rake ultrasphinx:daemon:start
添加到您的 CRON(我每 10 分钟运行一次,但最终决定完全取决于您的应用程序):rake ultrasphinx:index:delta
您需要每天运行一次 rake ultrasphinx:index:main以将增量内容移动到主索引中。
来源:官方文档。