我有以下错误:
elastic_transport.ConnectionTimeout: Connection timeout caused by:
ConnectionTimeout(Connection timeout caused by:
ReadTimeoutError(HTTPConnectionPool(host='localhost', port=9200):
Read timed out. (read timeout=9.999005171936005)))
from elasticsearch import Elasticsearch
import os
ELASTIC_PASSWORD = os.environ.get('ELASTIC_PASSWORD')
client = Elasticsearch('http://localhost:9200', basic_auth=("elastic", ELASTIC_PASSWORD), max_retries=3, retry_on_timeout=True)
doc = {
'text': 'Interesting content',
}
client.ping() # returns True!!
# the program reports error
client.indices.create(index="test-index", timeout="30s")
我尝试过的解决方案:
client = Elasticsearch('http://localhost:9200')
另外,请注意,当我第一次安装 Elasticsearch python 客户端时,我已经能够创建一次索引。我第二次和第三次运行脚本时都失败了。我观察到的另一个行为是,即使我关闭了程序,http://localhost:9200 也始终处于打开状态...
安装:
自我回答:我没有使用本地 Elasticsearch 客户端来完成它,但云客户端似乎对我来说工作得很好:
client = Elasticsearch(cloud_id="YOUR_CLOUD_ID", api_key="YOUR_API_KEY")