思考狮身人面像连接外部狮身人面像守护进程

时间:2013-10-10 13:33:59

标签: ruby-on-rails thinking-sphinx

我需要使用Sphinx将我的应用程序连接到外部服务器。 Sphinx被许多应用程序使用,我不管理它。我需要在我的应用程序中设置什么才能使用Thinking Sphinx连接到该外部服务器?

我假设我没有运行rake ts:start因为我没有使用本地守护进程而且我没有进行任何索引。

我在配置目录中添加了文件thinking_sphinx.yml,其中包含addressmysql41的设置。当我尝试从控制台运行搜索时,我得到:

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

我是否还需要Thinking Sphinx的更多设置才能在我的应用程序中使用?

修改

我让Sphinx管理员将索引名称更改为user_core,因此我不需要指定索引。我跑的时候:

User.search('jon').first

我明白了:

NoMethodError: undefined method `constantize' for nil:NilClass

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

这个Sphinx服务器是否与您当地的Thinking Sphinx配置分开设置?思考Sphinx期望某些属性存在于Sphinx索引中(并且,正如您所发现的,某些命名约定)。它还需要使用与ActiveRecord模型相同的数据源。

简而言之 - 如果思科Sphinx没有生成Sphinx配置,我会非常犹豫将它和Thinking Sphinx混合在一起。

但是否则:NoMethodError的完整堆栈跟踪将非常有用。