使用ElasticSearch嵌套树的构面

fey*_*fey 5 aggregation facets elasticsearch

我是ElasticSearch的新手,所以我需要一些帮助.

我有一个查询来搜索products哪些可以属于许多categories.Categories在嵌套树中组合.

示例数据:

categories: [
  {
    id: 1,
    name: 'First category',
    categories:[
      {
        id: 12,
        name: 'First subcategory'
      },
      {
        id: 13,
        name: 'Second subcategory'
      }
    ]
  },
  {
    id: 2,
    name: 'Second category'
  }
],
products: [
  {
    id: 1,
    name: 'First product',
    categories_ids: [2, 12]
  },
  {
    id: 2,
    name: 'Second product',
    categories_ids: [1]
  }
]
Run Code Online (Sandbox Code Playgroud)

除了搜索结果之外,我还需要获取categories树,包括每个搜索结果的数量category(不包括任何搜索结果的类别).

对于上面的例子,它应该是:

  • 第一类(2)
    • 第一个子类别(1)
  • 第二类(1)

有人可以解释如何使用ElasticSearch的聚合来做到这一点吗?

谢谢.