已解决 | python 操作 elasticsearch TypeError: __init__() missing 1 required positional argument: ‘scheme‘

这篇具有很好参考价值的文章主要介绍了已解决 | python 操作 elasticsearch TypeError: __init__() missing 1 required positional argument: ‘scheme‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天在用 python 跑 elasticsearch 时,代码如下:

from elasticsearch import Elasticsearch

es = Elasticsearch(
    [{'host': 'localhost', 'port': 9200}], timeout=3600
)

query = {
    "query": {
        "match_all": {}
    }
}

result = es.search(index="shopping", body=query)
print(result)

此时我本地 es 里是有名为 shopping 的索引的,而且索引中也有些数据,但运行时,报错如下:

C:/Users/th1nker/PycharmProjects/orders/test/test.py:3: DeprecationWarning: The 'timeout' parameter is deprecated in favor of 'request_timeout'
  es = Elasticsearch(
Traceback (most recent call last):
  File "C:/Users/th1nker/PycharmProjects/orders/test/test.py", line 3, in <module>
    es = Elasticsearch(
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\elasticsearch\_sync\client\__init__.py", line 331, in __init__
    node_configs = client_node_configs(
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\elasticsearch\_sync\client\utils.py", line 105, in client_node_configs
    node_configs = hosts_to_node_configs(hosts)
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\elasticsearch\_sync\client\utils.py", line 154, in hosts_to_node_configs
    node_configs.append(host_mapping_to_node_config(host))
  File "C:\Users\th1nker\AppData\Local\Programs\Python\Python38\lib\site-packages\elasticsearch\_sync\client\utils.py", line 221, in host_mapping_to_node_config
    return NodeConfig(**options)  # type: ignore
TypeError: __init__() missing 1 required positional argument: 'scheme'

Process finished with exit code 1

这让我有点摸不着头脑,查了网上的 python 操作 es 的入门教程,都没有提到 scheme 这个参数。

最后一想,可能是版本问题,我使用的这个 python 中的 es 库版本为 8.1.0,本地的 es 服务器版本为 8.1.1。可能是 python 中 es 版本太高的原因。于是把本地的 es 服务器版本降到 5.1.1(此时用的是 elasticsearch-rtf,该 es 版本为 5.1.1),把 python 的 es 库版本降到 5.1.0,结果就可以正常运行了文章来源地址https://www.toymoban.com/news/detail-545346.html

到了这里,关于已解决 | python 操作 elasticsearch TypeError: __init__() missing 1 required positional argument: ‘scheme‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Required request body is missing 错误解决

    测试接口报了这个问题:Required request body is missing。因为我使用的是GET请求 然后controller中的方法接收的参数使用了@RequestBody 注解 例如:会报Required request body is missing 因为Get请求发送数据的方式不是json格式,所以当我们使@RequsetBody封装Get请求的数据时就会出现无法获取到数据

    2024年02月07日
    浏览(56)
  • Required request body is missing 报错解决

    用 PostMan 测试 POST 类型的接口时,出现错误: 直白的翻译就是该传的参数没能传递到后端。我的传参是表单格式: 后端接口的参数接收使用了注解 @RequestBody ,猜想应该是参数格式有问题,把它改成 JSON 格式传递,再次运行就 OK 了。

    2024年02月12日
    浏览(51)
  • 解决FLink:Missing required options are: slot.name

    解决 https://ververica.github.io/flink-cdc-connectors/release-2.4/content/connectors/postgres-cdc.html?highlight=slot 原因 其他坑 1、需要jdk8,不然本地./bin/start-cluster.sh虽然可以启动,但是log里面会有错

    2024年02月16日
    浏览(50)
  • 已解决TypeError: __init__() got an unexpected keyword argument ‘threshold‘

    已解决(paddleocr模块PPStructure(show_log=True)报错)TypeError: init () got an unexpected keyword argument ‘threshold‘ 粉丝群里面的一个小伙伴想用python cv2模块和paddleocr 模块做图像识别复制别人的代码报错(当时他心里瞬间凉了一大截,跑来找我求助,然后顺利帮助他解决了,顺便记录一下

    2024年02月09日
    浏览(47)
  • Required request body is missing: 前端接口报错错误解决

    在前几天的工作中遇到了一个小小的问题 这是完整报错: 这个接口在Apifox上经过测试是没有问题的,那么因此就是前端接口设置出了问题。 解决方法: 这个接口报错的大意是:必需的请求正文缺失 因此检查一下接口文档,发现数据是写在body里的 因此返回检查接口代码,代

    2024年02月15日
    浏览(45)
  • Api接口出现Required request body is missing的解决方法

    在使用PostMan 测试接口的时候,出现如下问题:

    2024年02月15日
    浏览(46)
  • 【已解决】TypeError: __init__() takes 1 positional argument but 3 were given

    TypeError: __init__() takes 1 positional argument but 3 were given 类型错误:__init__()函数需要1个参数,但给出了3个参数 本人练习的代码中,其父类__init__()函数中的参数只有一个(个人原因少写了!),而在其子类实际调用的的参数需要三个,所以在调用的时候出现此类报错。 查找其他问

    2024年02月04日
    浏览(43)
  • TypeError:__init__() got an unexpected keyword argunent ‘executable_path‘解决方案

      大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。   本文主要介

    2024年02月11日
    浏览(56)
  • Python之常见报错missing 2 required positional arguments的2种问题排查方法

    报错:TypeError: wait_assert_sql() missing 2 required positional arguments: \\\'assert_sql\\\' and \\\'value\\\' 分析原因1: 由@property 装饰后,调用函数时不需要填写参数。因为调用时,填写了参数,所以出现了报错 报错:TypeError: wait_assert_sql() missing 2 required positional arguments: \\\'assert_sql\\\' and \\\'value\\\' 分析原因2:

    2024年02月13日
    浏览(40)
  • webdriver报错:TypeError: __init__() got an unexpected keyword argument ‘executable_path‘已解决

    webdriver报错:TypeError: init () got an unexpected keyword argument \\\'executable_path’已解决 错误段代码如下: 先说一下我下载的chromedriver版本是122.0.6261.94,chrome的版本是122.0.6261.112 selenium或selenium下的webdriver的库版本的原因,与chromedriver的版本不匹配。 终端执行pip show selenium查看版本。我报

    2024年04月25日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包