在过去的几天里,我一直在掌握 Sphinx,以便为自动完成功能的后端提供动力。感谢几个 SO 用户(BarryHunter 是最有帮助的)我现在有了一个完整的工作设置,包括几个索引、增量索引器等等。
剩下的就是决定自动化方法来运行增量重新索引并合并到核心索引。
我的意图是让增量索引每 5 分钟更新一次,核心索引/增量索引每 24 小时合并一次。
我的理解是,这是通过设置 cron 作业以最简单的形式实现的。但是,当我对它们将花费的时间量没有 100% 的信心时,我真的不喜欢运行 cron 作业。索引将快速增长,并希望避免处于不得不处理重新索引 cron 作业的位置,这些作业与研磨所有内容重叠。
出于这个原因,我发现自己正在考虑使用 gearman 来更有效地处理工作量。
我想从任何更有经验的 sphinx 用户那里知道(特别是如果他们使用 gearman 运行了类似的设置)如下:
- 对于初学者来说,这是个好主意吗?
- 这甚至是必要的吗(超过 2000 万行的索引是否需要超过 5 分钟才能完成)
- 以前从未使用过 gearman,有什么需要注意的陷阱吗?
- 使用 gearman 管理实时属性更改怎么样?为了提供即时索引删除等。值得吗?
所以实际上这是一个关于这种设置的一般建议问题,而不是一个具体的问题(我希望是允许的)。我宁愿在这里问,也不愿在接下来的 24 小时内与 gearman 交手,却发现它不是管理 sphinx 索引的好解决方案。
注意:在过去的一个小时里,我一直在搜索有关此确切设置的信息,但发现的很少。因此,我在这里询问 SO 的原因。
提前感谢您提供的任何建议。