【问题标题】:Thinking sphinx returning bad results (many documents missing)思考狮身人面像返回不好的结果(许多文件丢失)
【发布时间】:2010-07-27 01:02:12
【问题描述】:

我正在开发使用 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 也会出现此问题。

【问题讨论】:

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


    【解决方案1】:

    偶然发现了这个:

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

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

    【讨论】:

    • 非常感谢您的回答。我已经解决了这个问题,但忘记在这里发布我的答案。
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 2012-03-17
      • 1970-01-01
      相关资源
      最近更新 更多