使用映射创建新的ElasticSearch索引

时间:2018-09-11 02:54:18

标签: python elasticsearch

我能够执行以下操作以创建新的ES索引:

>>> es.indices.create(index = 'example_index')
{u'index': u'example_index', u'acknowledged': True, u'shards_acknowledged': True}

但是,如果我添加任何种类的映射,都会出现未知错误。例如:

request_body = {
    'mappings': {
        '_doc': {
            'properties': {
                'address': {'index': 'not_analyzed', 'type': 'string'},
                'some_PK': {'index': 'not_analyzed', 'type': 'string'},
            }}}
}
es.indices.create(index = 'example_index', body=request_body)

> TransportError: <unprintable TransportError object>

如何在此处使用预定义的映射创建适当的索引?为什么它会给出这样无益的错误消息?

1 个答案:

答案 0 :(得分:0)

虽然我只是尝试连接到外部ES服务器,但我不认为我需要在本地安装它,而是在本地安装它并确保已安装Java来解决上述问题。

似乎Elasticsearch模块可能需要在本地安装javaElasticSearch才能进行某些调用,即使不使用本地ElasticSearch集群也是如此。