Ruby on Rails — проблема с мыслящим сфинксом

Возможный дубликат:
проблема запуск Thinking Sphinx с Rails 2.3.5

Я запускаю rails 2.3.5 Каждый раз, когда я запускаю rake ts:start или ts.rebuild, файл rake выглядит следующим образом:

Sphinx cannot be found on your system. You may need to configure the following
settings in your config/sphinx.yml file:
  * bin_path
  * searchd_binary_name
  * indexer_binary_name

rake aborted!
key not found

У меня работает Sphinx, и sphinx.yml в конфигурации правильный: (я считаю)

bin_path: /usr/bin/searchd
  searchd_binary_name: searchd
  indexer_binary_name: sphinx-indexer

Sphinx, кажется, работает, как и когда он работает (запустив команду: service searchd start)

Ошибка, которую я получаю при переходе на страницу, использующую поиск:

ThinkingSphinx::SphinxError in Jobs#index
 Showing app/views/jobs/index.html.erb where line #30 raised:
 unknown local index 'job_core' in search request

Вместо ошибки подключения? Вероятно, здесь множество проблем, но я застрял. В качестве альтернативы я мог бы переписать код, который я исправляю, чтобы использовать другую функцию поиска, если да, то что лучше?


person Tom    schedule 17.08.2011    source источник


Ответы (2)


bin_path не должно включать в себя фактические двоичные имена (поскольку вы устанавливаете их с помощью searchd_binary_name и indexer_binary_name) — поэтому попробуйте просто с /usr/bin.

person pat    schedule 17.08.2011
comment
Пробовал безуспешно. Понятия не имею, что не так с настройкой, но я неохотно буду использовать условия в своих операторах mysql с условиями %like%. - person Tom; 21.08.2011
comment
Том, если ты хочешь попробовать еще раз - ты проиндексировал свои данные перед запуском демона, да? rake ts:index - person pat; 22.08.2011

Сравнивая вашу конфигурацию sphinx.yml с моей, похоже, что мои значения для bin_path, search_binary_name и index_binary_name выражены в виде строк, но это не имеет значения. Однако мой двоичный файл индексатора — это indexer, а не sphinx-indexer.

development:
    min_infix_len: 3
    config_file: "./config/development.sphinx.conf"
    searchd_log_file: "./log/searchd.log"
    query_log_file: "./log/searchd.query.log"
    pid_file: "./log/searchd.development.pid"
    bin_path: "/usr/local/bin"
    searchd_binary_name: "searchd"
    indexer_binary_name: "indexer" 

Так что, возможно, стоит просто проверить, что вы указали правильные двоичные имена. Это в дополнение к тому, что сказал Пэт, не включая имя двоичного файла поиска в bin_path.

person ste    schedule 04.09.2011