Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/search/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch ElasticSearch:嵌套字段和聚合_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Search - Fatal编程技术网 elasticsearch ElasticSearch:嵌套字段和聚合,elasticsearch,search,elasticsearch,Search" /> elasticsearch ElasticSearch:嵌套字段和聚合,elasticsearch,search,elasticsearch,Search" />

elasticsearch ElasticSearch:嵌套字段和聚合

elasticsearch ElasticSearch:嵌套字段和聚合,elasticsearch,search,elasticsearch,Search,我看到一些关于嵌套字段和聚合的帖子,但似乎没有一篇能够回答我的问题。所以,如果这是一个重复的问题,请原谅,任何帮助都将不胜感激 我们建立了一个讲座索引,讲座具有以下特点: 讲座可以亲自(现场)或预先录制(在线) 每堂课可以有多个章节 这些章节中的每一章都可以由不同的讲师讲授(例如:量子物理的第1章可以由五位不同的讲师讲授,其中三位可能是现场讲师,另外两位可能是在线讲师) 在线讲座将始终为每位讲师、每章、每种质量提供一个条目 大致结构如下: { "topics": [ {

我看到一些关于嵌套字段和聚合的帖子,但似乎没有一篇能够回答我的问题。所以,如果这是一个重复的问题,请原谅,任何帮助都将不胜感激

我们建立了一个讲座索引,讲座具有以下特点:

  • 讲座可以亲自(现场)或预先录制(在线)
  • 每堂课可以有多个章节
  • 这些章节中的每一章都可以由不同的讲师讲授(例如:量子物理的第1章可以由五位不同的讲师讲授,其中三位可能是现场讲师,另外两位可能是在线讲师)
  • 在线讲座将始终为每位讲师、每章、每种质量提供一个条目
大致结构如下:

{
  "topics": [
    {
      "id": "TOP1",
      "chapters": [
        {
          "chapterId": 12345,
          "availability": [
            {
              "type": "LIVE",
              "lecturer": "Dr. Abraham Fisher",
              "lectureChapterId": "861731",
              "availableFrom": "2017-09-11 13:00:00",
              "expiresAt": "2017-09-11 15:00:00",
              "lecturerIds": [
                "MON121",
                "MEL122"
              ]
            },
            {
              "type": "LIVE",
              "lecturer": "Dr. Bob Fisher",
              "lectureChapterId": "181751",
              "availableFrom": "2017-09-11 20:00:00",
              "expiresAt": "2017-09-11 22:00:00",
              "lecturerIds": [
                "MON122",
                "MEL123"
              ]
            },
            {
              "type": "LIVE",
              "lecturer": "Dr. Bob Fisher",
              "lectureChapterId": "181751",
              "availableFrom": "2017-09-17 20:00:00",
              "expiresAt": "2017-09-17 22:00:00",
              "lecturerIds": [
                "MON122",
                "MEL123"
              ]
            },
            {
              "type": "LIVE",
              "lecturer": "Dr. Abraham Fisher",
              "lectureChapterId": "861731",
              "availableFrom": "2017-09-17 13:00:00",
              "expiresAt": "2017-09-17 15:00:00",
              "lecturerIds": [
                "MON121",
                "MEL122"
              ]
            },
            {
              "type": "ONLINE",
              "quality" : "HD",
              "price" : 19.99,
              "lecturer": "Dr. Catherine Fisher",
              "lectureChapterId": "9127312",
              "availableFrom": "2017-01-17 00:00:00",
              "expiresAt": "2017-12-31 23:59:59",
              "lecturerIds": [
                "MON120",
                "MEL120"
              ]
            },
           {
              "type": "ONLINE",
              "quality" : "SD",
              "price" : 10.99,
              "lecturer": "Dr. Catherine Fisher",
              "lectureChapterId": "9127312",
              "availableFrom": "2017-01-17 00:00:00",
              "expiresAt": "2017-12-31 23:59:59",
              "lecturerIds": [
                "MON120",
                "MEL120"
              ]
            }
          ]
        }
      ]
    }
  ]
}
现在,如果要求只返回按章节分组的第一个可用讲座的详细信息,现场讲座的讲师,并返回所有在线讲座(以及讲座主题的其他元数据),那么最好的方法是什么?在上面的例子中,9月11日亚伯拉罕·费舍尔博士和鲍勃·费舍尔博士的讲座应该退回

我尝试使用内部点击,但显然,它不允许聚合(我得到以下错误)


附言:聚合需要在章节级别,而不是讲座主题(根)级别。

你能发布你的查询吗?对于嵌套字段的聚合,始终需要指定嵌套路径。看

我不知道您的完整数据模型,但是如果您可以控制文档结构,并且只需要用于搜索,那么您可以尝试通过反规范化将其展平一点

"[nested] query does not support [aggs]"