elasticsearch collapse折叠聚合

2023-10-27

目前经验:折叠只能用于筛选数据, 不能进行聚合,需要聚合,自己在内存中聚合

from elasticsearch import Elasticsearch


def query_2coll(index_name):
    query = {'size': 10000,
             "query": {
                 "match_all": {}
             },
             "collapse": {
                 "field": "subject_id",
                 "inner_hits": {
                     "name": "group",
                     "size": 5,
                     "sort": [{"group": "asc"}]
                 },
                 "max_concurrent_group_searches": 4
             }
    }
    try:
        datas = []
        allDoc = es.search(index=index_name, doc_type='koala-index', body=query)

        for data in allDoc['hits']['hits']:
            print(data['_source']['id'], data['_source']['group'], data['_source']['subject_id'])
            # for val, buckets in enumerate(data['_source']):
            #     if val>1:
            #         print('data error')
            # print(buckets['_source'])
            datas.append(data['_source'])
        return datas
    except Exception as e:
        print('query1 error', e)
        return datas


def query(index_name):
    query ={'size':10000,
        "query": {
            "match_all": {}
        },
        "sort": [
            {
                "group": {
                    "order": "asc"
                }
            }
        ],
        "collapse": {
            "field": "group",
                "terms": {
                    "field": "subject_id", 'size': 10000
                }
            },
        "aggs": {
                "agg_sex": {
                    "terms": {
                        "field": "subject_id",'size':10000
                    }
                }
        }
    }
    try:
        datas=[]
        allDoc = es.search(index=index_name, doc_type='koala-index', body=query)

        for data in allDoc['hits']['hits']:
            print(data['_source']['id'],data['_source']['group'],data['_source']['subject_id'])
            # for val, buckets in enumerate(data['_source']):
            #     if val>1:
            #         print('data error')
            # print(buckets['_source'])
            datas.append(data['_source'])
        return datas
    except Exception as e:
        print('query1 error', e)
        return datas

def query_ju(index_name):
    query = {
        "from": 0,
        "size": 10000,
        "sort": [
            {
                "event_id": {
                    "order": "desc"
                }
            }
        ],
        "collapse": {
            "field": "subject_id",
            "inner_hits": {
                "name": "quality",
                "size": 1,
                "sort": [
                    {
                        "event_id": {
                            "order": "asc"
                        }
                    }
                ]
            }
        }
    }
    datas=[]
    try:
        allDoc = es.search(index=index_name, doc_type='koala-index', body=query)

        for data in allDoc['hits']['hits']:
            print(data['_source']['date'])
            # for val, buckets in enumerate(data['_source']):
            #     if val>1:
            #         print('data error')
            # print(buckets['_source'])
            # datas.append(buckets['_source'])
        return datas
    except Exception as e:
        print('query1 error', e)
        return datas

if __name__ == '__main__':
    es = Elasticsearch(['127.0.0.1:9200'])
    index_name = 'event_tk'
    query_2coll(index_name)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

elasticsearch collapse折叠聚合 的相关文章

随机推荐

  • 蓝桥杯算法训练VIP-方格取数

    题目 题目链接 题解 动态规划 本题和这个题几乎是完全一样 那个博客写的巨清楚 所以这里不写了 代码 include
  • Redis的Jedis连接池

    Jedis本身是线程不安全的 并且频繁的创建和销毁连接会有性能损耗 因此我们推荐大家使用Jedis连接池代替Jedis的直连方式 public class JedisConnectionFactory private static fina
  • BDD100K数据集下载和标签格式转换问题

    BDD100K数据集下载和标签格式转换问题 数据集介绍 加州大学伯克利分校的Berkeley DeepDrive数据集由超过100K的视频序列组成 包含各种各样的注释 包括图像级标记 对象边界框 可行驶区域 车道标记和全帧实例分割 数据集具
  • python中解决import matplotlib.pyplot as plt 出现报错:OSError: [WinError 193] %1 不是有效的 Win32 应用程序

    先上代码 import matplotlib pyplot as plt squares 1 4 9 16 25 fig ax plt subplots ax plot squares plt show 在pycharm运行出现报错 而在s
  • 时间序列预测——时序卷积网络(TCN)

    本文展示了使用时序卷积网络 TCN 进行时间序列预测的全过程 包含详细的注释 整个过程主要包括 数据导入 数据清洗 结构转化 建立TCN模型 训练模型 包括动态调整学习率和earlystopping的设置 预测 结果展示 误差评估等完整的时
  • 终于支持 markdown 格式了

    print Hello MD
  • Pytorch虚拟环境搭建、训练unet、vit、yolov3

    一 搭建虚拟环境 手把手教你在win10下搭建pytorch GPU环境 Anaconda Pycharm 老潇的摸鱼日记 博客园 cnblogs com https www cnblogs com victorxiao p 1351225
  • 华为奇葩面试题登上热搜!「一头牛重800公斤一座桥承重700公斤,请问牛怎么过桥?」

    今日 知乎上有一道华为公司面试题 一头牛重800公斤一座桥承重700公斤问牛怎么过桥 目前这个话题已经登上了知乎热搜第三 这个问题到底是互联网大厂奇葩亦或是常规操作 这到底是道德的沦丧还是 下面就一起来看看神通广大的知乎热心网友是怎么解答的
  • 【基于python实现UI自动化】1.0 selenium工具介绍

    基于python实现UI自动化 1 0 selenium工具介绍 Selenium介绍 Selenium的发展 Selenium 1 Selenium 2 Selenium 3 Selenium 4 Selenium介绍 Selenium是
  • 【STM32WLE5之LoRa# 系列2、易智联LM401 评估板PingPong工程移植】

    STM32WLE5之LoRa 系列2 易智联LM401 评估板PingPong工程移植 前言 一 开发环境 1 STM32CubeMX与STM32CubeIDE软件安装 2 下载STM32WL固件库 二 硬件平台 三 PingPong例程的
  • 工厂模式(创建型)

    工厂模式有 简单工厂模式 工厂方法模式 抽象工厂模式 简单工厂模式 简单工厂模式的方法为 通过一个工厂 工厂里面有一个创建的函数 通过输入type 通过switch的匹配 匹配成功的话 创建相应的产品 没有的话 返回nullptr 具体的结
  • Spring cache

    文章目录 Spring cache 简单使用 注解缓存 Cacheable 键生成器 自定义的键生成器 带条件的缓存 CachePut CacheEvict Caching CacheConfig 使用Spel表达式 使用xml配置缓存 以
  • win10如何添加开机自己启动软件

    win10添加开机自启动软件的方法 Win10添加自动运行软件的方法 打开C Users 用户 AppData Roaming Microsoft Windows Start Menu Programs Startup 注意此处的用户是具体
  • 趣链科技解读区块链技术及其产业应用

    陀螺公开课 是定位于区块链行业的线上精品教育课程 以视频的形式传递行业思考 内容板块包括技术前沿 产业案例 领袖视野 学术思想 名人演讲等 通过邀请行业领域专家线上讲课 及开放高质量视频投稿 为用户提供优质的区块链学习内容 陀螺公开课第二期
  • linux-bash基础特性-通配符

    globbing 通配符 文件名通配 整体文件名匹配 而非部分 匹配模式 元字符 匹配任意长度的任意字符 ab ab开头的单词 ab 包含ab的单词 ab ab结尾的单词 a b 包含a b的单词 匹配任意单个字符 ab ab开头的三个字符
  • Ubuntu Linux操作系统

    Ubuntu Linux操作系统 Ubuntu是一个Linux发行版的操作系统软件 这意味着它运行在使用Linux的应用程序 内核和库 Ubuntu的开发和由Canonical公司 即成立由马克 沙特尔沃思资助的南非公司赞助 的Ubuntu
  • Android自定义权限permission

    http www tuicool com articles BZZrimu ndroid是一种特权分隔的操作系统 在Android上运行的每个应用程序都具有各自独立的系统标识 Linux用户ID和组ID 系统各部分有不同的身份标识 因此 L
  • 五眼网络安全机构联合发布事件响应指南

    聚焦源代码安全 网罗国内外最新资讯 编译 奇安信代码卫士团队 位于澳大利亚 加拿大 新西兰 英国和美国的网络安全机构联合发布关于检测恶意活动和事件响应的安全建议 报告指出 最佳实践事件响应程序始于对工件 日志和数据的收集及其删除分析 之后在
  • 数据结构---求用二进制表示的数字最右侧的1的位置

    public static void main String args int e 700 int rightvalue e e 1 int rightPosition 0 for int i rightvalue i gt 1 i i g
  • elasticsearch collapse折叠聚合

    目前经验 折叠只能用于筛选数据 不能进行聚合 需要聚合 自己在内存中聚合 from elasticsearch import Elasticsearch def query 2coll index name query size 10000