Ruby on rails 如何使用Rails和ElasticSearch构建嵌套结构?
我有一个Ruby on rails 如何使用Rails和ElasticSearch构建嵌套结构?,ruby-on-rails,elasticsearch,Ruby On Rails,elasticsearch,我有一个属于FeatureKey和FeatureValue的特征模型 FeatureKey#name => 'color' FeatureValue#name => 'red' 我想生成一个嵌套的聚合结构来构建购物车过滤器(facet)导航 理想情况下,结构会像 { features: { { key: color, values: [ red, blue, yellow ] }, { key: size, values: [ large, medium, small ]}
属于
FeatureKey和FeatureValue的特征模型
FeatureKey#name => 'color'
FeatureValue#name => 'red'
我想生成一个嵌套的聚合结构来构建购物车过滤器(facet)导航
理想情况下,结构会像
{ features: {
{ key: color, values: [ red, blue, yellow ] },
{ key: size, values: [ large, medium, small ]}
}}
有人能建议我如何做到这一点吗?我目前使用的是:
{
"size":1000,
"fields":[
"id",
"name",
"price"
],
"query":{
"filtered":{
"filter":{
"bool":{
"must":[
{
"term":{
"categories":4838
}
}
]
}
}
}
},
"aggs":{
"price":{
"stats":{
"field":"price"
}
},
"discounted":{
"terms":{
"field":"discounted"
}
},
"stock":{
"filter":{
"range":{
"stock":{
"gt":0
}
}
}
},
"colour":{
"terms":{
"field":"colour"
}
},
"size":{
"terms":{
"field":"size"
}
}
}
}
根据需要添加或删除聚合。您很可能希望按类别进行筛选,因此为了简单起见,我将其保留在了中