我曾经使用Whoosh
作为搜索后端,但现在我转而使用elasticsearch
并试图让事情有效。
尝试重建索引时出现错误:
requests.exceptions.ConnectionError: HTTPConnectionPool(host='localhost', port=8000): Max retries exceeded with url: /_bulk?op_type=create (Caused by <class 'socket.error'>: [Errno 61] Connection refused)
以下是我的settings.py:
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://localhost:8000/',
'INDEX_NAME': 'haystack',
},
}
我的问题是,URL用于什么以及我放在这里?我正在本地运行以进行开发,我已部署在Heroku上。
答案 0 :(得分:4)
端口应为9200。
HAYSTACK_CONNECTIONS = {
'default': {
'ENGINE': 'haystack.backends.elasticsearch_backend.ElasticsearchSearchEngine',
'URL': 'http://127.0.0.1:9200/',
'INDEX_NAME': 'haystack',
},
}
此外,您必须确保使用的是haystack的开发版本(2.0)。
编辑:
您可能希望首先通过执行以下命令确保ElasticSearch正在运行:
curl -XGET 'http://127.0.0.1:9200/my_index/_mapping?pretty=1'