2013-09-09 2 views
0

Я пытаюсь реализовать простой поиск с Thinking Sphinx, но он не работает. Я иду через «A Quick Guide to Getting Setup with Thinking Sphinx», и когда я пытаюсь использовать rake ts:index я получаю неприятную ошибку:Почему Thinking Sphinx отказывается работать?

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: 

Я установил MySQL из пакета, загруженного с сайта Oracle.

Система, на которой я нахожусь, является Mountain Lion. У меня определенно работает сервер MySQL, легко проверить системные настройки.

Кроме того, я установил Sphinx через Macports. Какие могут быть возможные решения?

+0

Я предполагаю ваше приложение Rails не имеет никаких проблем с подключением к базе данных? – pat

ответ

2

Я предполагаю, что Sphinx неправильно связался с MySQL, когда вы установили его через macports (в наши дни я бы рекомендовал homebrew поверх macports).

Что произойдет, если вы укажете хост 127.0.0.1 в файле database.yml для соответствующих сред? Это может убедить Sphinx подключаться через TCP вместо файловых сокетов.

(также: вы действительно используете ту же базу данных как для сред разработки и тестирования)

+0

Я добавил «host: 127.0.0.1», и я думаю, что это действительно работает ... вы, возможно, не знаете, насколько я потрясен в этот момент, сражаясь с этим дерьмом в течение нескольких часов прямо сейчас – Leo