【发布时间】:2012-09-12 23:41:23
【问题描述】:
我在带有轮胎的轨道上使用弹性搜索。
我的代码:
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)?
【问题讨论】:
-
为什么你的 facet 是brand_id 而不是brand_name?那不是可以解决你的问题吗?
-
因为当用户点击想要的品牌时,我通过 url 传递选择的品牌。我宁愿传递 id 而不是 brand_name。
-
我明白了...我认为您无法在构面结果中获得品牌名称。我希望我错了。我遇到了同样的“问题”,但我只是在 url (...&event=eventname...) 中传递了品牌(在我的情况下是事件)名称
-
您可以使用基于由 id 和名称组成的
script_field的构面。然后在前端,您需要以某种方式从构面条目中去除 id 以便仅显示名称,但是当用户选择条目本身时,您可以保留应用过滤器的键。好听吗? -
@javanna 嗯,我喜欢它!如果没有其他方法,我想我会坚持你的方法。谢谢!
标签: ruby-on-rails elasticsearch tire