我正在寻找一种在分组列表中显示我的方面的方法。例如,我有一些用户和一个方面按国家/地区进行过滤,这给了我:
我想拥有的是:
我在Rails应用程序中使用Tire gem,我的模型和关系是这样的:http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-option_groups_from_collection_for_select
我已经用Google搜索了几个小时的例子,但是在Elasticsearch中找不到嵌套/分组方面的任何内容。希望有人能帮助我朝着正确的方向前进!非常感谢提前!
丹尼尔
答案 0 :(得分:0)
您可以通过两种方式索引数据然后解析输出来处理这个问题。使用“对象”版本应用过滤器,并将解析版本作为构面显示过滤器。
例如:
"mydocument":{
"attributes":[
"location":{
{"continent":"europe",
"country":"england"
},
"fur_style":"long"
],
"facets":[
{"location":"Europe##england"},
{"fur_style":"long"
]
}
当您收到数据时,您将拥有:
"facets":[
{"location":"Europe##england",
"total":5},
{"location":"africa##egypt",
"total":7}
{"fur_style":"long",
"total":3}
etc etc
]
在您的应用程序中,您只需使用##分隔符(或任何您想要的内容)循环并拆分术语。