es查询限制10000,使用scroll

报错:

TransportError(500, 'search_phase_execution_exception', 'Result window is too large, from + size must be less than or equal to: [10000] but was [10010]. See the scroll api for a more efficient way to request large data sets. This limit can be set by changing the [index.max_result_window] index level setting.')

原因:

这个错误提示意味着你正在尝试从Elasticsearch中检索大量的数据,但是你的请求超过了Elasticsearch的默认结果窗口大小限制。默认情况下,Elasticsearch的结果窗口大小限制为10000,这意味着你一次最多只能检索10000个文档。

为了解决这个问题,你可以使用Elasticsearch的scroll API来检索大量的数据。scroll

API允许你在多个请求之间保持搜索上下文,以便你可以逐步检索大量的数据,而不会超出默认结果窗口大小的限制。

另外,你也可以通过更改Elasticsearch的索引级别设置来增加结果窗口大小限制。你可以通过设置"index.max_result_window"参数来调整结果窗口大小限制。但是,这种方法并不推荐,因为它可能会导致Elasticsearch性能下降,特别是在处理大量数据时。

总之,建议你使用scroll API来检索大量的数据,以避免超出默认结果窗口大小限制。

原代码:

python 复制代码
def main():
for i in range(0, int(allapge(index) / 10) + 2):
	try:
        res = es_yt.search(index=index, body=search_body(i))
        list_es = res['hits']['hits']
        s = helpers.bulk(es_ebscn, list_es)
        print('已完成', i)
        print(s)
    except Exception as e:
        print(e)

使用scroll 新代码:

python 复制代码
def main():
    scroll_time = '2m'  # 滚动查询的保持时间
    page_size = 1000  # 每个滚动请求返回的文档数

    res = es_yt.search(index=index, body=search_body(0), scroll=scroll_time, size=page_size)
    scroll_id = res['_scroll_id']
    scroll_size = res['hits']['total']
    print('scroll_size', scroll_size)

    while (scroll_size > 0):

        list_es = res['hits']['hits']
        print(list_es[0:1])
        if list_es:
            s = helpers.bulk(es_ebscn, list_es)
            print('scroll_size', scroll_size)
            print(s)
            res = es_yt.scroll(scroll_id=scroll_id, scroll=scroll_time)
        else:
            print('结束')
            break

    es_yt.clear_scroll(scroll_id=scroll_id)
相关推荐
王莎莎-MinerU16 分钟前
从 PDF 到知识资产:MinerU 文档解析如何成为企业 RAG 系统的“数据基石”
大数据·人工智能·pdf·个人开发
缝艺智研社26 分钟前
誉财 YC - 21 平板下摆机:服装下摆与袖口加工的卓越之选
大数据·人工智能·自动化·电脑·新人首发·线上模板机
逸Y 仙X40 分钟前
文章二十:Elasticsearch高亮搜索完全指南
java·大数据·运维·elasticsearch·搜索引擎·全文检索
2601_9561394241 分钟前
集团品牌全案公司哪家专业
大数据·人工智能·python
牛奶咖啡131 小时前
CI/CD——使用Jenkins实现自动化部署与持续集成
ci/cd·jenkins·jenkins是什么?有啥用·jenkins有哪些适用场景·jenkins的优缺点·jenkins的安装部署·jenkins安装必备环境
财经资讯数据_灵砚智能1 小时前
基于全球经济类多源新闻的NLP情感分析与数据可视化(日间)2026年5月3日
大数据·人工智能·python·信息可视化·自然语言处理
灵机一物1 小时前
灵机一物AI原生电商小程序、PC端(已上线)-AI产业深度解析:Token供需失衡下的算力战争与产业变革
大数据·人工智能·深度学习
dovens1 小时前
PostgreSQL 中进行数据导入和导出
大数据·数据库·postgresql
跨境数据猎手1 小时前
B 站 item_search_video 接口开发,搭建生产级视频搜索服务
大数据·爬虫·python
科技小花8 小时前
全球化深水区,数据治理成为企业出海 “核心竞争力”
大数据·数据库·人工智能·数据治理·数据中台·全球化