为什么思维斯芬克斯拒绝工作?

时间:2013-09-09 13:22:29

标签: ruby-on-rails ruby sphinx thinking-sphinx

我正在尝试用Thinking Sphinx实现一个简单的搜索,但它不起作用。我正在经历“A Quick Guide to Getting Setup with Thinking Sphinx”,当我尝试使用rake ts:index时,我遇到了一个令人讨厌的错误:

Generating configuration to /Users/Kuba/Desktop/Rails/black/config/development.sphinx.conf
Sphinx 2.0.6-release (r3473)
Copyright (c) 2001-2012, Andrew Aksyonoff
Copyright (c) 2008-2012, Sphinx Technologies Inc (http://sphinxsearch.com)

using config file '/Users/Kuba/Desktop/Rails/black/config/development.sphinx.conf'...
indexing index 'news_post_core'...
ERROR: index 'news_post_core': sql_connect: Can't connect to local MySQL server through socket '/opt/local/var/run/mysql5/mysqld.sock' (2) (DSN=mysql://root:***@localhost:3306/black1).
total 0 docs, 0 bytes
total 0.005 sec, 0 bytes/sec, 0.00 docs/sec
total 0 reads, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg
total 0 writes, 0.000 sec, 0.0 kb/call avg, 0.0 msec/call avg

我不知道该怎么做。我唯一的索引是:

ThinkingSphinx::Index.define :news_post, :with => :active_record do
  indexes title
end

我的database.yml是:

development:
  adapter: mysql2
  encoding: utf8
  database: black1
  pool: 5
  username: root
  password:

test:
  adapter: mysql2
  encoding: utf8
  database: black1
  pool: 5
  username: root
  password:

production:
  adapter: mysql2
  encoding: utf8
  database: black1
  pool: 5
  username: root
  password:

我从Oracle网站下载的软件包中安装了MySQL。

我所使用的系统是Mountain Lion。我肯定有MySQL服务器运行,很容易检查系统首选项。

另外,我通过Macports安装了Sphinx。 可能有什么解决办法?

1 个答案:

答案 0 :(得分:2)

我猜测,当您通过macports安装时,Sphinx没有正确连接MySQL(我现在通常会建议使用自制的macports)。

如果在database.yml文件中为相应的环境指定了127.0.0.1的主机,会发生什么?这可能说服Sphinx通过TCP连接而不是文件套接字。

(另外:你真的在开发和测试环境中使用相同的数据库吗?)