2012-09-12 58 views
1

即時通訊使用帶輪胎的rails上的elasticsearch。一個ID字段的Elasticsearch方面值

我的代碼:

def to_indexed_json 
    { 
     :id     => id, 
     :brand_name   => brand_name, 
     :brand_id   => brand_id 
    }.to_json 
end 

facet "brands" do 
    terms :brand_id 
end 

我必須在數據庫中查詢檢索由elasticsearch返回的所有品牌名稱。有沒有辦法從elasticsearch返回這些值(brand_name)?

+0

爲什麼你在brand_id而不是brand_name上面?這不會解決你的問題嗎? – Robin

+0

,因爲當用戶點擊所需品牌時,我通過網址傳遞所選品牌。我寧願傳遞id而不是brand_name。 –

+0

我明白了......我不認爲你可以在facet結果中獲得brand_name。我希望我錯了。我有同樣的「問題」,但我只是在url(...&event = eventname ...)中通過品牌(事件在我的案例中)名稱 – Robin

回答

3

,你可以使用基於id字段使用腳本結合的方面它增加了名稱中的每個條目,使每個條目將被再組成兩個編號和名稱:

"facets" : { 
    "tag" : { 
     "terms" : { 
      "field" : "id", 
      "script" : "term + \"_\" + _source.name" 
     } 
    } 
} 

然後在前端你需要以某種方式剝離方面條目中的ID以便僅顯示名稱(我希望你的ID不能包含_),但是當用戶選擇條目本身時,可以保留鍵以應用過濾器。

相關問題