思考狮身人面像返回不良结果(许多文件丢失)

时间:2010-07-27 01:02:12

标签: full-text-search sphinx thinking-sphinx

我正在开发使用Thinking Sphinx的Ruby on Rails应用程序。不幸的是,不时(每月几次)搜索往往会返回不良结果(许多文档丢失)。重新索引有所帮助,但这不是生产的解决方案。

即使我在rails控制台中输入简单查询(例如ThinkingSphinx.search 'skalee'),我也会遇到不好的结果。 Sphinx search工具返回正确的结果,因此索引显然可以正常工作。

当我输入ThinkingSphinx.search('skalee').results[:words]时,我会看到正确的点击次数(例如,30个文档中找到的术语),但ThinkingSphinx.search('skalee').results[:matches]包含2个文档。 results[:words]中的数字与search中的数字相同。

我正在使用延迟增量,但即使我没有运行ts:dd。

,这个问题也会出现

2 个答案:

答案 0 :(得分:0)

偶然碰到了这个:

http://freelancing-god.github.com/ts/en/common_issues.html#deltas

也许您的用户权限已关闭?

答案 1 :(得分:0)

思考Sphinx(或延迟Delta,我记不太清楚)为所有模型添加特殊的内部属性(sphinx_deleted或类似的东西)。它用于过滤掉销毁的记录。不幸的是,它不时很糟糕。修改gem之后(摆脱这个属性)一切正常。当然,我需要等到完全重新索引(我每晚都会执行)以从索引中删除已销毁的记录,但这在我的情况下是一个小缺点。或者,我可以使用Sphinx的杀戮列表功能来过滤掉已删除的条目。