2014-09-21 33 views
0

是否有可能讓我的應用程序(在開發模式下)使用SQLite3適配器,而Sphinx使用Postgres?是否可以在Rails應用程序的單獨數據庫上配置(思考)Sphinx?

我試圖通過添加下面的文件config/thinking_sphinx.yml來做到這一點,但我收到一條錯誤消息,告訴我SQLite3不受支持。當然,我的config/database.yml已經開發了SQLite3。

default: &default 
    encoding: utf8 
    host: localhost 
    adapter: postgresql 
    port: 5432 
    pool: 5 
    timeout: 5000 

development: 
    <<: *default 
    database: ts_development 

test: 
    <<: *default 
    database: ts_test 

production: 
    <<: *default 
    database: ts_production 

回答

0

如果您要使用Sphinx,那麼您需要在該環境中使用PostgreSQL或MySQL。所以,技術上來說,你可以在開發中使用SQLite,這意味着你不能在開發中使用Sphinx或Thinking Sphinx,這是一個非常糟糕的舉動:我建議一般在所有環境中使用相同的數據庫或者不涉及獅身人面像),特別是在這種情況下,否則你將無法在開發環境中執行與搜索相關的任何操作。

+0

我可能沒有清楚我的問題 - 我的意思是,在開發環境中,我可以讓我的應用程序的ORM適配器爲SQLite,而Sphinx的適配器爲Postgres?我希望Sphinx會讀取'config \ think_sphinx.yml',如果它存在,並且保持與Postgres服務器的連接,同時我的應用程序正在使用SQLite數據庫......這可能嗎? – sameers 2014-09-22 15:44:51

+0

爲什麼你會在同一個環境中運行兩個不同的數據庫?你是否期待兩個數據庫中都有相同的數據? – pat 2014-09-22 19:34:17

+0

需要說明的是:Sphinx查詢數據庫以建立其索引,然後您的搜索查詢與Sphinx交談,Thinking Sphinx將這些結果轉換回ActiveRecord對象(通過您的數據庫)。因此,如果Sphinx使用PostgreSQL作爲其數據庫源,那麼它需要與應用程序的普通數據庫相同。 – pat 2014-09-22 19:40:21

相關問題