【问题标题】:Options for using Sphinx 2.0 (or 1.1) with DataMapper?将 Sphinx 2.0(或 1.1)与 DataMapper 一起使用的选项?
【发布时间】:2011-05-23 06:40:37
【问题描述】:

不幸的是,ThinkingSphinx 不是 DataMapper 的选项(尽管他们说计划提供支持)。我们正在使用实时索引,因此我们至少需要 Sphinx 1.1 版(我们实际上正在运行 2.0 版,但 1.1 版应该仍然可以正常工作)。我见过 dm-sphinx-adapter,但它看起来没有维护,非常像一个 hack(你手动提取 ID,然后正常搜索......这让我想知道适配器甚至提供了什么)。

还有什么我可能没见过的吗? :)

编辑 |嗯,实际上,somebody's fork of dm-sphinx-adapter 有一个更好的 README,它提供了一些选项。使用is :searchable 插件会让事情变得更好。但我仍然渴望看到更多具有性感 API 的选项,该 API 被很好地抽象为更符合标准 DataMapper 约定。

编辑 2 | dm-sphinx-adapter 是一个死项目。由于 Riddle(ThinkingSphinx 使用的纯 ruby​​ 客户端)是开源的,我想我会着手编写自己的。外面好像什么都没有。

【问题讨论】:

    标签: ruby-on-rails ruby sphinx datamapper


    【解决方案1】:

    前一周,我将 Thinking Sphinx 的(非常旧的)dm branch 推送到了 git 存储库 - 分支本身大约 18 个月大。 DataMapper 不像 ActiveRecord 那样支持多次加入同一个表,所以很难拥有相同的功能集和可靠性——这就是为什么从那以后分支没有被触及的原因。

    如果您想尝试复活它,请成为我的客人 - 鉴于您在墨尔本(我通常也是如此),甚至很乐意坐下来通过代码交谈。

    即使从 Riddle 的角度来看,同样的提议也适用。

    就目前而言,Riddle 的 2.0.x 功能支持并不完美,但我将在今晚晚些时候的航班上花费 20 多个小时,并且 RT 索引支持(通过 SphinxQL)在我的飞机列表中黑客项目。不过,我们会看看我怎么走。

    【讨论】:

    • 太棒了,谢谢,我回家看看,把水壶放上去;)如果有好的基础,能避免重复造轮子就好了从开始。哈哈,能在长途航班上编码肯定会让时间过得更快。直到你意识到你需要互联网访问的东西:P
    • 是的,我真的希望我在飞机上不需要任何东西。遗憾的是大多数航空公司都没有 wifi(维珍美国航空是一个明显的例外)。
    【解决方案2】:

    我最终(几个月后)创建了 oedipus 和 oedipus-dm:

    https://github.com/d11wtq/oedipus-dm

    我们成功地将它与我们的 RT 索引一起使用。然而,我们还有很多工作要做。

    【讨论】:

      猜你喜欢
      • 2011-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多