1

以前は検索バックエンドとして使用して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 にデプロイしています。

4

1 に答える 1

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'
于 2013-03-28T23:28:06.380 に答える