将Elasticsearch从5.5.1降级到2.1.0 mapper_parsing_exception

时间:2017-08-14 11:36:33

标签: elasticsearch elasticsearch-5 elasticsearch-2.0

我遇到了elasticsearch的映射问题:

我在本地计算机上使用ES 5.5.1并在本地测试我的python程序,一切正常(可以创建索引,索引数据等)。现在我想将我的应用程序部署到运行ES 2.1.0版的云代工厂解决方案。

所以我得到了这个mapper_parsing_exception:

{u'status': 400, u'error': {u'caused_by': {u'reason': u'No handler for type [text] declared on field [first_seen]', u'type': u'mapper_parsing_exception'}, u'root_cause': [{u'reason': u'No handler for type [text] declared on field [first_seen]', u'type': u'mapper_parsing_exception'}], u'type': u'mapper_parsing_exception', u'reason': u'Failed to parse mapping [generated]: No handler for type [text] declared on field [first_seen]'}}

在Elastic网站上写的是版本2.x不支持“text”和“keyword”数据类型。相反,他们会尝试将“关键字”/“文本”降级为“字符串”。

我使用了我在本地ES实例中创建的映射,因为云上的ELK服务实例在动态映射方面存在一些问题。但是这种映射当然是“text”和“keyword”数据类型。

我可以用“string”类型替换每个“text”和“keyword”数据类型,还是可以使用不同的解决方案?

感谢您的帮助! Greez

修改

我刚刚将关键字数据类型转换为字符串,并将“index”:“not_analyzed”添加到这些字段以获得与以前相同的功能。我认为我的云ES实例上的动态映射无法正常工作,但我现在看到,我实际上工作得很好,我只需要做一些小的手动映射调整。

1 个答案:

答案 0 :(得分:0)

它不仅是format类型,而且您还必须配置是否应该分析字段(否则您将无法获得关键字功能)。