在MySQL中运行多查询(用于SphinxQL)

在MySQL中运行多查询(用于SphinxQL),mysql,ruby,sphinx,Mysql,Ruby,Sphinx,目前,我们依靠Sphinx的PHP库来管理分面搜索,这取决于使用Sphinx的多查询功能的能力 最新的Sphinx搜索文档描述了如何通过MySQL在SphinxQL中执行相同的多查询过程。它给出了一个使用PHP的示例 ruby是否有MySQL gems以这种方式支持多查询 我在看mysql2 gem,它似乎是最新的东西,但似乎不支持它。当谈到ruby中的Sphinx多查询时,我是否仍然不知所措 我将在接下来的几天里编写一个客户机来支持他们,如果不是的话,但显然SphinxQL会让这变得更容易。我

目前,我们依靠Sphinx的PHP库来管理分面搜索,这取决于使用Sphinx的多查询功能的能力

最新的Sphinx搜索文档描述了如何通过MySQL在SphinxQL中执行相同的多查询过程。它给出了一个使用PHP的示例

ruby是否有MySQL gems以这种方式支持多查询

我在看mysql2 gem,它似乎是最新的东西,但似乎不支持它。当谈到ruby中的Sphinx多查询时,我是否仍然不知所措


我将在接下来的几天里编写一个客户机来支持他们,如果不是的话,但显然SphinxQL会让这变得更容易。我也不想让我的gem连接到两个不同的RT索引协议,它们只能通过SphinxQL写入。SphinxQL似乎基本上就是它的所在。

ruby mysql gem似乎支持这一点:

我认为它正在正确地处理这个问题。它说的是“execute”,但实际上它似乎只是从已经执行的查询中获取下一组结果

  # execute next query if multiple queries are specified.
  # === Return
  # true if next query exists.
  def next_result
    return false unless more_results
    check_connection
    @fields = nil
    nfields = @protocol.get_result
    if nfields
      @fields = @protocol.retr_fields nfields
      @result_exist = true
    end
    return true
  end

这里也有对它的引用:在“multiplestatements”下,我最终编写了自己的gem,其中包括一个围绕MySQL的小包装器。不是一个成熟的mysql客户端,而是一个支持SphinxQL的最小桥接器

你可以在这里看到宝石:

这里是C扩展: