我正在开发我的应用程序搜索引擎。该搜索引擎使用 sphinx 进行全文搜索。
我创建了一个负责更新索引的 cron 作业。目前它被设置为一天执行一次。
这就是我在这个 cron 中所做的事情。
indexer --all --rotate > sphinx.log
有时整个搜索模块出现故障,并在客户端应用程序上显示此错误。
Notice (1024): Search query failed: connection to 127.0.0.1:9312 failed (errno=111, msg=Connection refused) [APP/models/behaviors/sphinx.php, line 134]
在 sphinx.log 我发现了这个错误
FATAL: failed to lock /usr/local/sphinxsearch/delta_users/delta_users.spl: Resource temporarily unavailable, will not index. Try --rotate option.
似乎 9312 被拒绝连接,可能是因为资源文件被其他进程使用。这仍然是随机行为。
环境部署在 Linux (ubuntu) 上,应用在 cakephp 上创建。我正在尝试确定它停止再次重新启动 sphinx 服务的原因。我不知道这是 sphinx 配置问题还是某些 I/O 或 mysql 问题。我认为增量索引只会导致一些问题。
提前致谢。