2012-03-27 23 views
0

目前我們依靠Sphinx的PHP庫來管理我們的分面搜索,這取決於使用Sphinx的多查詢功能的能力。在MySQL中運行多重查詢(適用於SphinxQL)

最新的Sphinx搜索文檔介紹瞭如何通過MySQL在SphinxQL中執行相同的多查詢過程。它給出了一個使用PHP的例子。

http://sphinxsearch.com/docs/manual-2.0.4.html#sphinxql-multi-queries

做任何MySQL的寶石爲支持這種方式多查詢紅寶石存在嗎?

我正在看mysql2 gem,這似乎是最新的東西,但它似乎並不支持它。對於使用紅寶石的Sphinx多重查詢,我仍然感到不知所措嗎?

如果不是,我打算寫一個客戶端,在接下來的幾天工作中支持他們,但顯然SphinxQL會使這個更容易。我寧願不必讓我的寶石連接到兩個不同的RT索引協議(只能通過SphinxQL寫入)。看來SphinxQL基本上就是它所處的位置。

回答

0

看來紅寶石mysql的寶石支持這一點:https://github.com/tmtm/ruby-mysql/blob/master/lib/mysql.rb#L406-419

我認爲它是正確處理此。它表示'執行',但實際上它似乎只是從已經執行的查詢中獲取下一組結果。

# 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 

有參考這裏太:http://zetcode.com/db/mysqlrubytutorial/(在「多個語句」)