elasticsearch - 无法从6.x中的5.x打开数据:映射

标签 elasticsearch

我创建了一个例程,将ES客户端从5.x更新到6.x,最后是7.x。
某些客户端无法以某种方式进行更新。
在6.8中加载现有数据失败。
显然是某些映射导致了这种情况。
但是没有应用模板,并且一切正常,我看不出与其他客户端有任何区别。
我知道ES已经删除了string类型,现在正在使用text,但是这种类型的string是从哪里来的呢?那为什么在其他客户端上不发生呢?最后-我该如何解决?我无法在5.x中将类型从string更改为text,也无法在6.x中应用模板,因为它没有启动。

Caused by: org.elasticsearch.index.mapper.MapperParsingException: Failed to parse mapping [datapoint]: No handler for type [string] declared on field [batchId]
更新:
这是我当前对batchId的映射
http://localhost:9200/_mapping

"batchId":{"type":"keyword"}

最佳答案

似乎您忘记了在映射中将数据类型从string更改为text,这导致了MapperParsingException,这真的很好,异常(exception)是告诉您probalmatic字段为batchId,只需将其更改为text数据类型即可使用。
请引用讨论此stringtext更改的elastic blog,并提供有关在升级时如何处理它的一些技巧。

关于elasticsearch - 无法从6.x中的5.x打开数据:映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64118846/

相关文章:

elasticsearch - elasticsearch:如何删除未分配的碎片

arrays - Elasticsearch文档映射类型与存储类型不同

elasticsearch - 理解Elasticsearch的write_consistency和quorum规则

elasticsearch - 带空间的ElasticSearch部分映射

javascript - 有选择地展平嵌套 JSON 结构

elasticsearch - ElasticSearch缺失和术语查询

elasticsearch - 如何对嵌套对象进行聚合 - Elasticsearch

lucene - Lucene/ElasticSearch 的不错的多语言词干分析器或分析器?

elasticsearch - 如何将消息拆分为多个字段

java - Jest ElasticSearch 中的 retry_on_conflict