2

我需要使用 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

任何帮助将不胜感激

4

1 回答 1

0

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

简而言之 - 如果 Sphinx 配置不是由 Thinking Sphinx 生成的,我会非常犹豫将其与 Thinking Sphinx 混合在一起。

但除此之外:NoMethodError 的完整堆栈跟踪将很有用。

于 2013-10-11T05:35:03.093 回答