2014-01-21 76 views
3

核心指數的工作工作,但三角洲指數是行不通的。但奇怪的是,日誌文件中沒有錯誤或警告,所以我不知道如何調試它。 我用phusion-passenger和Webbrick在本地測試了它。結果是一樣的。 我使用rails 3.2.13和思維獅身人面像3.1.0。三角洲索引不與思考獅身人面像

我的索引定義:

ThinkingSphinx::Index.define :log, :with => :active_record, :delta => true do 
    indexes msg, :sortable => true 
    has moment, :type => :timestamp 
    has program, :type => :string 
end 

我使用延遲增量具有相同的結果也試過。

任何想法?

謝謝!

編輯: 是因爲我直接通過MySQL將數據寫入數據庫嗎? 因此只有在使用rails + active_record的情況下才能識別新記錄?

+0

當然,你重建索引TS? –

+0

是的,當然.. – Asco

回答

1

你的編輯是正確的 - deltas只能通過ActiveRecord回調被觸發,所以如果你沒有通過標準ActiveRecord工作流程編輯/添加對象,Sphinx索引將不會被更新。

這同樣適用於update_attribute方法(注:奇異的版本),當它被稱爲回調不調用(不像update_attributessave等)。

+0

所以我必須降級到思維獅身人面像2.1.0和使用日期時間三角洲索引? – Asco

+0

您可以運行'indexer --config config/production.sphinx.conf log_delta --rotate'來手動運行使用當前方法的delta索引器。也許你想詳細說明爲什麼你覺得日期時間增量是最好的前進方向? – pat

+0

但也是:ts-datetime-delta中的最新提交支持TS v3。 – pat

相關問題