使用Postman为已有Elasticsearch索引创建映射失败,求排查
问题原因及解决办法
你的错误来自两个关键操作失误:
请求体多了外层的
"mappings"字段
你使用的是更新已有索引映射的API(/_mapping端点),这个端点本身就是针对映射操作的,请求体不需要再嵌套"mappings"键,直接写映射规则即可。ES 7.0已移除文档类型(Type)
Elasticsearch 7.x版本开始彻底废弃了文档类型(比如你写的"myfile"),不能再在映射中指定类型名称。
正确的请求体应该是这样:
{ "dynamic": "strict", "properties": { "property1": { "type": "keyword" }, "property2": { "type": "long" } } }
保持请求方式为POST,URL不变(http://localhost:9200/my-domain-name/_mapping),用这个请求体发送即可成功更新映射。
补充说明:如果是创建索引时指定映射,才需要在外层加上"mappings"字段,但此时同样不能指定类型名称,示例如下:
{ "mappings": { "dynamic": "strict", "properties": { "property1": { "type": "keyword" }, "property2": { "type": "long" } } } }
内容的提问来源于stack exchange,提问作者Makarand
相关产品推荐
相关产品推荐

