当前位置: 首页 > 面试题库 >

按类型限制ElasticSearch聚合?

闻人宝
2023-03-14
问题内容

如何为特定类型执行ElasticSearch聚合?我意识到您可以在请求网址中指定索引和/或类型,但是我想对两种不同的类型进行汇总。

谢谢!


问题答案:

您可以按类型过滤聚合,然后使用子聚合。例如:

{
  "aggs": {
    "Test 1": {
      "filter": {
        "type": {
          "value": "type1"
        }
      },
      "aggs": {
        "agg_name": {
          "terms": {
            "field": "field1",
            "size": 10
          }
        }
      }
    },
    "Test 2": {
      "filter": {
        "type": {
          "value": "type2"
        }
      },
      "aggs": {
        "agg_name": {
          "terms": {
            "field": "field2",
            "size": 10
          }
        }
      }
    }
  }
}


 类似资料:
  • 问题内容: 我有带有类别字段的产品。使用聚合,我可以获得所有子类别的完整类别。我想限制构面中的级别。 例如,我有以下方面: 使用像 我越来越喜欢 但是我想限制水平。例如我只想得到的结果。如何限制水平?顺便说一句, 对我不起作用。 我需要根据搜索获得不同级别的存储桶。 有时是第一级,有时是第二或第三级。当我想要第一级时,我不希望第二级出现在存储桶中。以此类推。 Elasticsearch 6.4版

  • 我目前有一个简单的函数(发布在下面),它问用户一个问题,并希望有一个整数答案。 是否有一种方法可以使java限制可以输入控制台的字符,即只允许输入数字。 我知道在其他编程语言中有简单的方法来实现这一点,但我应该如何在java中实现这一点并将其实现到我的函数中呢?

  • 问题内容: 示例文档中有一个简化的文档。这对我理解非嵌套类型与嵌套类型的聚合差异很有帮助。但是,这种简化掩盖了进一步的复杂性,因此我不得不在这里扩展这个问题。 所以我的实际文件更接近以下内容: 因此,我保留了,和的关键属性,但隐藏了许多其他使情况复杂化的内容。首先,请注意,与引用的问题相比,有很多额外的嵌套:在根和“项目”之间,以及在“项目”和“ item_property_1”之间。此外,还请注

  • 问题内容: 我将此数据插入了Elasticsearch: 旁注:重现: 1)下载:http://wmo.co/20160928_es_query/bulk.json 2)执行:卷曲-s -XPOST ‘ 的http://本地主机:9200 /测试/外部/ _bulk漂亮 ‘ -数据二进制@ bulk.json 问题: 获取每个“位置”有多少记录的计数。 解决方案1:存储桶聚合..没有得到期望的结果

  • 我有一些文件存储在Elasticsearch中,如下所示: 我想得到的是字段1、字段2或字段3对每个文档的最大次数的计数,按日期分组,即。期望结果如下: 我在date上使用了一个术语聚合,但不知道如何比较不同的字段,以便使用Elasticsearch聚合来执行此max and count类型的操作。有什么建议吗?

  • 我有一个Elasticsearch文档索引,其中有一个包含URL列表的字段。如预期的那样,在该字段上聚合会给我唯一URL的计数。 然后,我想过滤掉其键不包含特定字符串的桶。我已经尝试使用Bucket选择器聚合来实现这一点。 此尝试: 失败原因: 名为[links\u key\u filter]且类型为[bucket\u selector]的管道聚合无效。顶层仅允许同级管道聚合 将bucket选择器