我在使用太陽黑子來處理我的大禮包商業應用中的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?也許有人可以幫我解決這個問題。
編輯
我剛纔看到,利用太陽黑子時,模型類變得像index
和index!
一些方法。奇怪的是,在調音臺rails c
內部,調用Spree::Product.first.methods
時會列出此方法。但是當我從產品控制器鉤入更新方法時,這種方法不存在。所以在初始化太陽黑子的時候可能會遇到一些問題。
僅供參考:上面的代碼(Spree::Product.class_eval do
)位於config/initializers/sunspot/sunspot_product.rb
下的初始化程序中。
您正在使用哪個版本的Rails? –
我正在使用Ruby 1.9.3p392和Rails 3.2.9 – 23tux
沒有人有想法嗎?我無法弄清楚,從哪裏開始調試這個問題:( – 23tux