2013-03-01 45 views
4

我的Rails應用程序中有一個可搜索的Item模型。防止某些模型在Rails應用程序中使用Tire編入索引

我想索引ElasticSearch中的大部分,除了滿足某些條件的那些。

我該怎麼做?

在模型中重寫update_index是否可接受的解決方案?


我知道我也可以將它們編入索引並在搜索中將其過濾掉。但他們永遠不會被搜索到,所以我沒有看到索引他們的理由。

回答

7

最簡單的事情是處理索引勾自己,作爲README說:

請注意,你可能想跳過包括在特殊的情況下 輪胎::型號::回調模塊,就像當你的記錄是通過一些外部機制(...),或當你需要 的文檔如何加入或從索引中刪除更好的控制索引:

class Article < ActiveRecord::Base 
    include Tire::Model::Search 

    after_save do 
    update_index if state == 'published' 
    end 
end 
+0

由於果報工作者。其實有人回答,並指出我在哪裏討論了這個問題,但他刪除了他的答案,我猜。 – Robin 2013-03-02 16:00:41

相關問題