即时通过Tire在轨道上使用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 :(得分:3)
您可以使用基于id字段的facet和一个脚本,该脚本将名称添加到每个条目,以便每个条目都由id和name组成:
"facets" : {
"tag" : {
"terms" : {
"field" : "id",
"script" : "term + \"_\" + _source.name"
}
}
}
然后在前端你需要以某种方式从正面条目中删除id以仅显示名称(我希望你的id不能包含_
),但你可以保留密钥以应用当用户选择条目本身时过滤。