Ruby on Rails应用程序中搜索结果页面上的Sphinx连接错误

fem*_*che 3 ruby postgresql sphinx ruby-on-rails thinking-sphinx

我有一个带Posgresql的RoR应用程序作为数据库.我正在尝试使用Sphinx作为搜索引擎和Thinking Sphinx gem来设置搜索功能.我已经安装了sphinx和mysql以及postgresql支持,思考sphinx v3 gem和它的依赖关系.

命令

rake ts:index

执行没有错误.Log说我有20个索引的文档(我的Post模型的所有记录).然后我尝试为搜索结果页面创建控制器和视图.这是Controller的搜索操作

def search
    @query = Riddle::Query.escape(params[:q])
    @posts = Post.search(@query)
end
Run Code Online (Sandbox Code Playgroud)

当我尝试在搜索视图中使用@posts变量时

本地主机:3000 /搜索Q =打招呼

我有以下错误.

Thinking#search中的ThinkingSphinx :: ConnectionError

通过MySQL协议连接到Sphinx时出错.通过MySQL协议连接到Sphinx时出错.无法连接到'127.0.0.1'上的MySQL服务器(61) - SELECT*FROM post_coreWHERE MATCH('hello')AND sphinx_deleted= 0 LIMIT 0,20; SHOW META

pat*_*pat 5

ts:index任务只存储Sphinx数据,它不会启动响应搜索请求的守护进程.您需要运行ts:startrake任务才能实现此目的.

另外:同时ts:rebuild完成所有这些:停止Sphinx(如果它正在运行),索引数据,启动Sphinx.