djang-elasticsearch-dsl的连接被拒绝错误

时间:2019-06-13 04:43:22

标签: python django elasticsearch

我正在尝试使用软件包django-elasticsearch-dsl将ElasticSearch与Django项目集成在一起,但出现此错误:


>> $ curl -X GET http://localhost:9200
curl: (7) Failed to connect to localhost port 9200: Connection refused


我使用以下命令下载了django-elasticsearch-dsl

pip install https://github.com/sabricot/django-elasticsearch-dsl/archive/6.4.0.tar.gz

pip install django-elasticsearch-dsl,但它们都导致相同的结果。

我不认为这是重复的问题,因为我阅读的与此错误有关的所有其他问题都只涉及ElasticSearch库,而不涉及django-elasticsearch-dsl库。后者建立在前者的基础上,但是我似乎找不到所有其他文章中都详细介绍的elasticsearch.yml文件。

这是我的虚拟环境中安装的内容:

>> pip freeze

Django==2.2.2
django-elasticsearch-dsl==6.4.0
elasticsearch==7.0.2
elasticsearch-dsl==7.0.0
lazy-object-proxy==1.4.1
mccabe==0.6.1
pylint==2.3.1
python-dateutil==2.8.0
pytz==2019.1
requests==2.22.0
typed-ast==1.4.0
urllib3==1.25.3

根据this tutorial,命令http://127.0.0.1:9200应该返回看起来像JSON响应的内容,但出现错误:

curl: (7) Failed to connect to localhost port 9200: Connection refused

1 个答案:

答案 0 :(得分:0)

您是否为每个应用制作了document.py?您需要使其将数据推送到elasticsearch数据库。但是首先,您需要正确安装elasticsearch(如果您的情况未正确安装)。

尝试使用本教程来安装elasticsearch,我最近使用它,并且像魅力一样发挥作用。

Link

这是elasticsearch.yml(/etc/elasticsearch/elasticsearch.yml)的路径。

别忘了使用-sudo systemctl start elasticsearch启动它(使用-sudo systemctl status elasticsearch检查其状态)