使用映射创建新的 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>

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


慕无忌1623718
浏览 174回答 1
1回答

缥缈止盈

虽然我只是尝试连接到外部 ES 服务器,并且认为我不需要在本地安装它,但在本地安装它并确保安装了 Java 解决了上述问题。即使不使用本地 ElasticSearch 集群,该Elasticsearch模块似乎也可能需要两者java并ElasticSearch在本地安装以进行某些调用。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python