2013-10-10 2 views
2

Мне нужно подключить мое приложение к внешнему серверу с помощью Sphinx. Sphinx используется многими приложениями, и я не управляю им. Что мне нужно установить в моем приложении для подключения к этому внешнему серверу с Thinking Sphinx?Мышление Sphinx, подключающееся к внешнему демонам Sphinx

Я предполагаю, что я не запускаю rake ts: начните, поскольку я не использую локальный демон, и я не делаю никаких индексирования.

Я добавил файл мышления_sphinx.yml в свой каталог с настройками для address и mysql41. Когда я пытаюсь запустить поиск из консоли я получаю:

User.search('jon', indices: [ 'users' ]) 
(Object doesn't support #inspect) 
=> 

Нужно ли мне какие-либо дополнительные настройки для Thinking Sphinx работать в моем приложении?

EDIT:

Я попросил Sphinx администратора изменить имя индекса для user_core поэтому не нужно указывать индекс. Когда я бегу:

User.search('jon').first 

я получаю:

NoMethodError: undefined method `constantize' for nil:NilClass 

Любая помощь будет оценена

ответ

0

установлен ли этот сервер Sphinx отдельно к локальной Thinking конфигурации Сфинкса? Мышление Sphinx ожидает, что определенные атрибуты будут существовать в индексах Sphinx (и, как вы обнаружили, некоторые соглашения об именах). Он также должен использовать тот же источник данных, что и ваши модели ActiveRecord.

Вкратце - если конфигурация Sphinx не генерируется Thinking Sphinx, я бы очень не решался смешивать ее и мыслящий сфинкс вместе.

Но в остальном: полная трассировка стека NoMethodError была бы полезна.

+0

Вы были правы. Были некоторые различия в атрибутах. После изменения скрипта индексирования с информацией из сгенерированного конфигурационным файлом Thinking Sphinx все начало работать. Спасибо @pat! :) – zeth

Смежные вопросы