我正在尝试用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。 可能有什么解决办法?
答案 0 :(得分:2)
我猜测,当您通过macports安装时,Sphinx没有正确连接MySQL(我现在通常会建议使用自制的macports)。
如果在database.yml文件中为相应的环境指定了127.0.0.1的主机,会发生什么?这可能说服Sphinx通过TCP连接而不是文件套接字。
(另外:你真的在开发和测试环境中使用相同的数据库吗?)