首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >时装商业的Elasticsearch研究

问时装商业的Elasticsearch研究
EN

Stack Overflow用户
提问于 2021-06-16 20:32:27
回答 1查看 39关注 0票数 0

我在elasticsearch中对以下数据集进行了索引

代码语言:javascript
复制
[
{
    "id": "1",
    "name": "Red T-shirt",
    "size": "S",
    "styleId": "R-1"
},
{
    "id": "2",
    "name": "Red T-shirt",
    "size": "M",
    "styleId": "R-1"
},
{
    "id": "3",
    "name": "Red T-shirt",
    "size": "L",
    "styleId": "R-1"
},
{
    "id": "4",
    "name": "White T-shirt",
    "size": "S",
    "styleId": "W-1"
},
{
    "id": "5",
    "name": "White T-shirt",
    "size": "XL",
    "styleId": "W-1"
}
]

在搜索结果中,我希望产品按styleId分组。有没有可能像下面这样的样本结果?在大多数商业网站,如亚马逊,Myntra,Flipkart,我已经看到他们正在做我正在尝试的相同的事情。我尝试了许多elasticsearch概念,比如“崩溃”,但都没有成功。使用kibana和elasticsearch版本7.4。任何建议都将受到高度赞赏。

代码语言:javascript
复制
[
{
    "id": "1",
    "name": "Red T-shirt",
    "size": "S",
    "styleId": "R-1",
    "sizes": [
        {
            "id": "2",
            "name": "Red T-shirt",
            "size": "M",
            "styleId": "R-1"
        },
        {
            "id": "3",
            "name": "Red T-shirt",
            "size": "L",
            "styleId": "R-1"
        }
    ]
},
{
    "id": "4",
    "name": "White T-shirt",
    "size": "S",
    "styleId": "W-1",
    "sizes": [
        {
            "id": "5",
            "name": "White T-shirt",
            "size": "XL",
            "styleId": "W-1"
        }
    ]
},
]
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-21 16:10:58

您可以将collapse与基数聚合一起使用。Cardinality将提供组级别计数

代码语言:javascript
复制
{
  "_source": "false",
  "collapse": {
    "field": "styleId.keyword",
    "inner_hits": {
      "name": "group-details",
      "size": 5
      }
  },
  "from": 0,
  "size": 5,
  "aggs": {
    "type_count": {
      "cardinality": {
        "field": "styleId.keyword"
      }
    }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68002740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档