You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch映射未创建:按官方指南建索引后无映射问题求助

解决Elasticsearch 5.6.6索引映射404问题

嘿,我来帮你理理这个问题——毕竟Elasticsearch 5.x版本的映射和类型规则和后来的版本还是有点不一样的。你遇到的情况大概率是这几个原因之一:

  • 你创建了空索引,未定义type1的映射
    Elasticsearch 5.6.6中,如果你只是发送PUT /test不带请求体,索引会成功创建(返回200),但里面没有任何类型的映射。这时候查询type1的映射自然会返回404,因为这个类型根本不存在于索引中。
    解决方法:创建索引时直接定义type1的映射,示例请求如下:

    PUT http://localhost:9201/test
    {
      "mappings": {
        "type1": {
          "properties": {
            "title": { "type": "text" },
            "age": { "type": "integer" }
          }
        }
      }
    }
    

    执行完这个请求后,再调用GET http://localhost:9201/test/_mapping/type1就能看到映射信息了。

  • 空索引已创建,未手动添加type1的映射
    如果你已经创建了空的test索引,现在需要先给type1添加映射,再去查询。发送以下请求添加映射:

    PUT http://localhost:9201/test/_mapping/type1
    {
      "properties": {
        "content": { "type": "text" }
      }
    }
    

    映射添加成功后,再查询就不会返回404了。

  • 未向type1写入过文档,动态映射未触发
    Elasticsearch默认开启动态映射,但只有当你向某个类型写入文档时,它才会根据文档字段自动生成映射。你可以先写入一条测试文档来触发:

    POST http://localhost:9201/test/type1/1
    {
      "test_field": "hello elasticsearch 5.6.6"
    }
    

    写入完成后,再查询type1的映射,就能看到自动生成的结构了。

最后别忘了确认你的Elasticsearch确实在9201端口运行——可以用GET http://localhost:9201/验证,看看是否返回集群的基本信息,排除端口配置错误的可能。

内容的提问来源于stack exchange,提问作者Tomas Lukac

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:52:31