从Django视图中写入弹性搜索

时间:2017-10-30 18:57:33

标签: django python-2.7 elasticsearch

我尝试将本地SQLite数据库条目与弹性搜索索引同步。

以下是观点:

def sync_model(request, model_id):
    data = create_json(model_id)
    es = Elasticsearch(hosts=[{'host': 'my_host', 'port': '9200'}])
    res = es.index(index='my_index', doc_type='my_doctype', id=model_id, body=data)
    return redirect('/')

第4行的错误:

  

ConnectionError(:无法建立新连接:getaddrinfo()参数2必须是整数或字符串)由以下原因引起:NewConnectionError(:无法建立新连接:getaddrinfo()参数2必须是整数或字符串)

put to elastic搜索正常工作。我是否缺少在Django中不允许这种行为的知识?任何帮助将不胜感激

1 个答案:

答案 0 :(得分:1)

驱动程序期望将端口指定为整数。结帐文档example

es = Elasticsearch(
   hosts=[{'host': host, 'port': 443}],
   http_auth=awsauth,
   use_ssl=True,
   verify_certs=True,
   connection_class=RequestsHttpConnection
)