使用python scrip连接到ES

2024-04-24 23:53:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试连接并从ES引擎检索数据。

我正在使用以下脚本:

from elasticsearch import Elasticsearch as ES

print "Setup connection..."
es=ES(['http://elasticsearch......com:9200/cuevents-2014.34,cuevents-2014.33/_search?pretty'])
print "Done!"

print "Count number of users..."
print es.count(index='cuevents-2014.34')

但是我得到的是下面的消息。

Setup connection...
No handlers could be found for logger "elasticsearch"
Done!
Count number of users...
Traceback (most recent call last):
  File "/home/es.py", line 8, in <module>
    print es.count(index='cuevents-2014.34')
  File "/usr/local/lib/python2.7/dist-packages/elasticsearch/client/utils.py", line 68, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/elasticsearch/client/__init__.py", line 622, in count
    params=params, body=body)
  File "/usr/local/lib/python2.7/dist-packages/elasticsearch/transport.py", line 284, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/usr/local/lib/python2.7/dist-packages/elasticsearch/connection/http_urllib3.py", line 51, in perform_request
    raise ConnectionError('N/A', str(e), e)
elasticsearch.exceptions.ConnectionError: ConnectionError(('Connection aborted.', gaierror(-2, 'Name or service not known'))) caused by: ProtocolError(('Connection aborted.', gaierror(-2, 'Name or service not known')))

我正在尝试连接并返回索引cuevents-2014中的文档数。34


Tags: inpyeslibpackagesusrlocaldist
1条回答
网友
1楼 · 发布于 2024-04-24 23:53:50

好吧,我又仔细看了一遍你的代码。Elasticsearch构造函数需要指向根URL—您不应该在URL上指定索引。

from elasticsearch import Elasticsearch as ES

print "Setup connection..."
es=ES(['http://elasticsearch......com:9200/'])
print "Done!"

print "Count number of users..."
print es.count(index='cuevents-2014.34')

http://elasticsearch-py.readthedocs.org/en/master/api.html#elasticsearch

如果只想限制对某些索引的访问,则Elasticsearch根本不提供访问控制。您可以通过反向代理上的URL重写来实现。

相关问题 更多 >