2014-01-27 62 views
9

我有一個rails應用程序,我從Sphinx切換到ElasticSearch並使用gem searchkick。searchkick索引相關模型字段

我有一個模型老師和模型標籤(通過寶石),其中教師可以有多個標籤關聯。在教師模型中,我定義的索引是這樣的:

def search_data 
    { 
     name: name, 
     intro: intro, 
     bio: bio, 
     tag_name: tags.name 
    } 
end 

名稱,介紹和生物是老師的屬性,但我想索引的名字OD associeted給老師的標籤。我怎樣才能做到這一點?

它是現在的方式,它索引對象(關係)的名稱,如何索引標記對象內的屬性名稱?

回答

20

不久問這個問題後,我發現了github page上的問題之一的解決方案:

def search_data 
    { 
     name: name, 
     intro: intro, 
     bio: bio, 
     tag_name: tags.map(&:name) 
    } 
end 

這索引正確的屬性。

+2

小語法修正,它應該是 - 'tag_name:tags.map(&:name)' –

+1

@AyrtonSenna謝謝,剛剛編輯它。 –

相關問題