elasticsearch python pycharm

问题描述 投票:0回答:2

我正在尝试在 Python 中运行一个非常简单的 Elasticsearch 插入:

es = Elasticsearch({'host': 'localhost', 'port': 9200})
res = es.index(index='data-client_dev', doc_type='test', id=2, body={'author': 'Christophe'}, timeout=60)
print(res['created'])

但我总是在最后粘贴错误。 我在 Ubuntu 14 下并使用 PyCharm (如果这可能有帮助)。 ES 节点已在我的计算机上本地启动并运行。 我尝试更改超时(或使用 request_timeout),但它什么也没做。奇怪的是查询是从终端进行的,所以也许它是针对 Pycharm 的。 我是初学者,所以也许我错过了一些明显的东西。

非常感谢您的帮助!

WARNING:elasticsearch:PUT http://port:9200/data-client_dev/test/2?timeout=60 [status:N/A request:20.040s]
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/elasticsearch/connection/http_urllib3.py", line 78, in perform_request
    response = self.pool.urlopen(method, url, body, retries=False, headers=self.headers, **kw)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 608, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/usr/local/lib/python2.7/dist-packages/urllib3/util/retry.py", line 224, in increment
    raise six.reraise(type(error), error, _stacktrace)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 558, in urlopen
    body=body, headers=headers)
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connectionpool.py", line 353, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python2.7/httplib.py", line 979, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1013, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 975, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 835, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 797, in send
    self.connect()
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connection.py", line 162, in connect
    conn = self._new_conn()
  File "/usr/local/lib/python2.7/dist-packages/urllib3/connection.py", line 142, in _new_conn
    (self.host, self.timeout))
ConnectTimeoutError: (<urllib3.connection.HTTPConnection object at 0x7fe723d7e550>, u'Connection to port timed out. (connect timeout=10)')
WARNING:elasticsearch:Connection <Urllib3HttpConnection: http://port:9200> has failed for 1 times in a row, putting on 60 second timeout.
python elasticsearch pycharm
2个回答
3
投票

您需要像这样创建 Elasticsearch 客户端,即将主机放入列表中:

es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
                   ^                                   ^
                   |                                   |
                add this                           and this

0
投票

我确实从 pyCharm IDE 安装了弹性搜索,它有效。

pip3安装elasticSearch==[版本]

© www.soinside.com 2019 - 2024. All rights reserved.