首页 > 解决方案 > 如何在带有弹性云的python上使用elasticsearch库?

问题描述

Rest API 和弹性云的新手在这里尝试将我的 json 文件发布到 elasticsearch 中,以便我可以索引并在 kibana 中查看它。所以我在网上阅读了弹性搜索库,我基本上是按照它的例子来的但是,当我尝试运行该东西时,却遇到了连接错误。现在,本教程指的是本地弹性而不是云,所以我猜云的身份验证不一样,我应该以某种方式添加用户和密码?任何人都可以帮助我吗?

请注意,当我尝试使用 get 时,我实际上得到了代码 200,所以通信应该没问题

es = Elasticsearch([{'host': 'https:/cloudhosturl', 'port': 9243}])
    for i,line in enumerate(emails):
        for match in re.finditer(from_pat, line):
            ioc.append(match.group(1))
            es.index(index='senders', doc_type='addresses', id=k, body=json.dumps(match.group(1)))

elasticsearch.exceptions.ConnectionError: ConnectionError(: 无法建立新连接: [Errno 11001] getaddrinfo failed) 原因:NewConnectionError(: 无法建立新连接: [Errno 11001] getaddrinfo failed)

标签: restelasticsearch

解决方案


我正在使用来自https://elasticsearch-py.readthedocs.io/en/master/的片段,它适用于弹性云集群。这个需要pip install elasticsearch

例子:

es = Elasticsearch(
['https:/cloudhosturl'],
http_auth=('USERNAME', 'PASSWORD'),
scheme="https", port=443,)

推荐阅读