raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)

python 链接 elasticsearch 的时候报错:python

File "/usr/lib/python2.7/site-packages/elasticsearch/client/utils.py", line 69, in _wrapped
    return func(*args, params=params, **kwargs)
  File "/usr/lib/python2.7/site-packages/elasticsearch/client/__init__.py", line 539, in search
    doc_type, '_search'), params=params, body=body)
  File "/usr/lib/python2.7/site-packages/elasticsearch/transport.py", line 327, in perform_request
    status, headers, data = connection.perform_request(method, url, params, body, ignore=ignore, timeout=timeout)
  File "/usr/lib/python2.7/site-packages/elasticsearch/connection/http_urllib3.py", line 109, in perform_request
    self._raise_error(response.status, raw_data)
  File "/usr/lib/python2.7/site-packages/elasticsearch/connection/base.py", line 113, in _raise_error
    raise HTTP_EXCEPTIONS.get(status_code, TransportError)(status_code, error_message, additional_info)
TransportError: <unprintable TransportError object>

缘由:Python Elasticsearch Client的版本与Elasticsearch 的版本不一致,版本的对应关系以下bash

# Elasticsearch 6.x
elasticsearch>=6.0.0,<7.0.0
# Elasticsearch 5.x
elasticsearch>=5.0.0,<6.0.0
# Elasticsearch 2.x
elasticsearch>=2.0.0,<3.0.0

如何查询版本?app

  • Elasticsearch
curl 'http://localhost:9200/?pretty'
  • Python Elasticsearch Client
pip show elasticsearch

若是二者的版本不在上面的对应关系中 则相应的作升级或者降级python2.7

相关文章
相关标签/搜索