【问题标题】:Thinking Sphinx not indexing newly added records思考狮身人面像没有索引新添加的记录
【发布时间】:2010-01-13 07:13:26
【问题描述】:

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

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

我检查了权限,认为 sphinx gem 版本,它们似乎都很好。有什么问题?

编辑

我还检查了http://freelancing-god.github.com/ts/en/common_issues.html#deltas,但它似乎不起作用。是的,服务器在 phusion 乘客上运行。

【问题讨论】:

  • 模型中的索引块是什么样的?为什么将 delta 设置为 false (这对关联有多重要?)。 delta 必须为真才能使记录获得 delta 索引
  • 对不起,我的意思是,增量设置为 true 以使关联更新生效。这绝对是一个phusion乘客问题。
  • 你确定这是一个phusion乘客问题吗?您是否尝试过做 rails 并查看是否可以获得搜索结果?我遇到了类似的问题,我也设置了 phusion 乘客,但我也注意到在 Rails 控制台中通过 Modelname 实例(或其他)搜索总是返回 []。我还注意到 rake ts:rebuild "skipping non-plain index" 的输出中有一行,如果这有帮助,请告诉我...
  • 你试过使用 ruby​​-debug 吗?

标签: ruby-on-rails sphinx thinking-sphinx


【解决方案1】:

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

查看我的帖子here

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

【讨论】:

  • 对不起,亚当,这个问题太老了,我不记得到底出了什么问题。我应该发布对我有用的解决方案。 :-(
  • 是的,我明白了。好吧,也许你会记得某个时候。如果你这样做了,将它分享给社区将是一个很大的帮助!
  • 好的,伙计。如果我记得它,我会发布它。
猜你喜欢
  • 2010-10-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多