2013-08-22 72 views
0

我在使用太陽黑子來處理我的大禮包商業應用中的solr。 我定義它爲我的產品型號:太陽黑子Solr:auto_index不起作用

Spree::Product.class_eval do 
    searchable :auto_index => true, :auto_remove => true do 
    ... 
    end 
end 

在索引時間,一切都進入Solr的和正常工作。但是,當我嘗試編輯產品時,更改不會保存到Solr。例如,爲產品的標題添加一個如testtest這樣的唯一字詞,然後搜索該關鍵字不會返回任何內容。當我重新編制整個數據庫時,它就可以工作。我在使用auto_commit_after_request: true選項。我的尾巴log/sunspot-solr-development.log每一個搜索記錄。但是,編輯產品似乎並沒有打電話給Solr。我認爲使用:auto_index => true選項會觸發保存到數據庫(在生產中我將使用Solr的autoCommit功能)。

所以,我有點卡住了。我不知道,太陽黑子鉤入保存區塊,還是它在後臺是RSolr?也許有人可以幫我解決這個問題。

編輯

我剛纔看到,利用太陽黑子時,模型類變得像indexindex!一些方法。奇怪的是,在調音臺rails c內部,調用Spree::Product.first.methods時會列出此方法。但是當我從產品控制器鉤入更新方法時,這種方法不存在。所以在初始化太陽黑子的時候可能會遇到一些問題。

僅供參考:上面的代碼(Spree::Product.class_eval do)位於config/initializers/sunspot/sunspot_product.rb下的初始化程序中。

+0

您正在使用哪個版本的Rails? –

+0

我正在使用Ruby 1.9.3p392和Rails 3.2.9 – 23tux

+0

沒有人有想法嗎?我無法弄清楚,從哪裏開始調試這個問題:( – 23tux

回答