python使用elasticsearch查询报503问题解决

前言

前几天运维的哥们悄悄的吧es升级到7之后,哥们儿我发现我的es洗数脚本在任务管理界面几乎是清一色的满江红,在程序界牵一发而动全身的情况并不少见,这下也好哥们儿我的工作量一下就来了,(免得老板看在眼里以为我是个闲人,在年底把我开了!)

进入正题

公司有个业务场景需要对不同的用户进行划分,划分的基础是根据行为,所以我只能从es日志中找到产生过相关行为数据的用户让后将这部分用户全部提取一出来,每个小类大约都有几万人,有些甚至十几万,以往用es 6.3的使用,几万条数据随便取,可是升级到7之后,所有脚本全部挂了,而且报的错全部是503

elasticsearch.exceptions.TransportError: TransportError(503, u’search_phase_execution_exception’)

查询日志发现了,search.max_bucketsz这个关键字眼,最后google,找到问题迎刃而解,原来是以前的运维老哥早就修改了最大查询条数,升级es的运维老哥是刚来不久的(从中可以看出,工作的细致交接,给力的队友是有多么的重要),而且对es相关配置并不熟悉,而在下我只是一个数据仔,并不熟悉相关东西,踩了许久的坑,终于才把这个坑填上。
解决方法,修改最大查询条数限制

PUT _cluster/settings
{
  "persistent": {
    "search.max_buckets": 50000
  }
}

问题解决,但是哥们儿还是得假装问题没有解决,工作就是你不忙,也要让老板看起来觉得你很忙!!!

猜你喜欢

转载自blog.csdn.net/katyusha1/article/details/103937338