Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/53.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 思考斯芬克斯不索引新添加的记录_Ruby On Rails_Sphinx_Thinking Sphinx - Fatal编程技术网

Ruby on rails 思考斯芬克斯不索引新添加的记录

Ruby on rails 思考斯芬克斯不索引新添加的记录,ruby-on-rails,sphinx,thinking-sphinx,Ruby On Rails,Sphinx,Thinking Sphinx,我正在使用sphinx搜索2个模型及其关联。我正在使用增量索引。在开发模式(Ubuntu)下,在我的开发盒上一切正常。但是,在staging box production env上,当我创建新记录时,我需要再次构建索引,以使新创建的记录可以搜索。更奇怪的是,当我使用脚本/控制台创建记录时,它们似乎被编入索引并可搜索 为了使关联在更新后工作,我为所有关联模型提供了一个after_save方法,该方法将这两个模型记录的增量设置为true。我不确定这是否与此有关 我已经检查了权限,认为狮身人面像的宝石

我正在使用sphinx搜索2个模型及其关联。我正在使用增量索引。在开发模式(Ubuntu)下,在我的开发盒上一切正常。但是,在staging box production env上,当我创建新记录时,我需要再次构建索引,以使新创建的记录可以搜索。更奇怪的是,当我使用脚本/控制台创建记录时,它们似乎被编入索引并可搜索

为了使关联在更新后工作,我为所有关联模型提供了一个after_save方法,该方法将这两个模型记录的增量设置为true。我不确定这是否与此有关

我已经检查了权限,认为狮身人面像的宝石版本,他们似乎都很好。有什么不对劲吗

编辑


我也退房了,但似乎不起作用。是的,服务器运行在phusion passenger上。

我遇到了类似的问题,我认为这是一个依赖解决问题

请看我的帖子


不知何故,我认为thinking sphinx的更新版本是通过gem安装在我的机器上的,我仍然通过apt get安装了它。我用apt清除了它,然后重新安装了它。之后,我发现表中有一个不应该使用的特殊字段:type,我编辑了迁移以删除该类型,并将其作为不同的名称再次添加。然后它成功了。您应该发布模型的相关代码、调用搜索的控制器操作、调用任何rake命令时的任何明显输出。尝试卸载gem,然后重新安装。然后卸载apt软件包并重新安装。

您的模型中的索引块是什么样子的?为什么要将delta设置为false(这对关联有多重要?)。delta必须为true,记录才能获得delta indexedSorry我的意思是,delta被设置为true,关联更新才能工作。这绝对是一个普西翁乘客问题。你确定这是普西翁乘客问题吗?如果你能得到搜索结果,你是否尝试过使用rails s和seing?我遇到了一个类似的问题,我也设置了phusion passenger,但我也注意到在rails控制台中,通过Modelname实例(或其他什么)进行搜索总是返回[]。我还注意到rake ts的输出中有一行代码:rebuild“跳过非普通索引”让我知道这是否有帮助……您是否尝试过使用ruby debug?对不起,Adam,这个问题太老了,我记不起到底是什么错了。当时我应该发布对我有效的解决方案:-(是的,我明白了。好吧,也许你会记得什么时候。如果你记得的话,分享它对社区将是一个很大的帮助!当然,伙计。如果我记得的话,我会发布它。