es做批量查询解决默认1万条数据

该代码段定义了一个defquery_entity_value函数,它通过Elasticsearch(ES)服务查询指定index_table中的数据。使用bool查询和filter过滤器,针对name.keyword字段进行term匹配。如果数据量超过10000条,代码将分批获取,确保获取所有结果。最后,提取并返回所有匹配项的value字段值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

def query_entity_value(es, index_table, name):
    request_body = {

        "query": {
            'bool': {
                'filter': {
                    "term": {
                        'name.keyword': name,
                        # "value": '再生育确认'

                    }}},
        },

    }
    res_start = es.search(index=index_table, body=request_body, size=10000, from_=0)
    res_data = res_start['hits']['hits']
    total_num = res_start['hits']['total']
    from_int = 10000
    if total_num / 10000 > 1:
        for i in range(round(total_num / 10000)):
            res_entity = es.search(index=index_table, body=request_body, size=10000, from_=from_int)
            res_data += res_entity['hits']['hits']
            from_int = from_int + 10000
    if res_data:
        res_data = [i['_source']['value'] for i in res_data]
    return res_data

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值