1

虽然 database.yml 配置如下,

development:
  adapter: postgresql
  database: saim_development
  username: jerdvo

启动 Thin Web 服务器(v1.5.0 代号 Knife),显然运行正常。但是任何thinking-sphinx搜索都会生成

无法连接到“127.0.0.1”上的 MySQL 服务器

Gemfile 包含

gem 'rails', '3.2.13'
gem 'will_paginate', '3.0.4'
gem 'devise', '2.2.3'
gem 'devise-i18n'
gem 'pg', '0.15.1'
gem 'pundit', '0.2.0'
gem 'mysql2', '0.3.12b5'
gem 'thinking-sphinx', '3.0.3'
gem 'rake', '10.0.4'
gem 'dynamic_form', '1.1.4'
gem 'jquery-rails', '2.2.1'
gem 'json', '1.7.7'
gem 'capistrano', '2.14.2'
gem 'passenger', '3.0.19'
gem 'paperclip', '3.4.0'
gem 'rvm-capistrano', '1.2.7'
#gem 'sqlite3'
gem 'globalize3', '0.3.0'
gem 'batch_translations', '~> 0.1.2'
gem 'ya2yaml', '~> 0.31'

group :development do
  gem 'mongrel', '1.2.0.pre2'
  gem 'thin', '1.5.0'
  gem 'ruby-debug19'
  gem 'capistrano', '2.14.2'
  gem 'translate-rails3', '~> 0.2.3', :require => 'translate'
end

其他有用的信息。

/usr/local/bin/psql

被正确地别名为

/usr/local/Cellar/postgresql/9.2.4/bin/psql

然而,除了 Apple 预安装之外,这是通过自制软件安装的第二个 postgresql 版本。升级 postgre 时,我可能运行了一个服务器会话。

不通过 sphinx 运行的搜索正在生成结果。我的解释是思考-sphinx 错误地认为它应该连接到 mysql。

4

1 回答 1

2

Thinking Sphinx 使用 mysql41 协议连接到 Sphinx - 本质上,它的行为类似于 MySQL 服务器,这就是需要 mysql2 gem 的原因。所以这个错误实际上是说 Sphinx 没有运行:你是否运行 Thinking Sphinx rake 任务来索引你的数据并启动守护进程?

rake ts:index
rake ts:start
于 2013-05-16T22:57:08.120 回答