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

AWS Elasticsearch创建含分析器与分片的索引报错求助

解决Elasticsearch创建索引时的"unknown key [analysis]"错误

你遇到的问题根源很清晰——analysis配置的位置放错了!Elasticsearch要求所有分析相关的配置(包括normalizer、analyzer等)必须嵌套在settings对象内部,而不是和settings、mappings平级。你之前把analysis放在了根层级,这就触发了解析错误。

修正后的完整创建索引代码

{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 1,
    "analysis": {
      "normalizer": {
        "my_normalizer": {
          "type": "custom",
          "char_filter": [],
          "filter": ["lowercase", "asciifolding"]
        }
      }
    }
  },
  "mappings": {
    "properties": {
      "question": {
        "type": "text",
        "fields": {
          "keyword": {
            "type": "keyword"
          },
          "normalize": {
            "type": "keyword",
            "normalizer": "my_normalizer"
          }
        }
      }
    }
  }
}

关键调整说明

  • 把原来根层级的analysis块移动到了settings对象内部,这是完全符合Elasticsearch索引创建规范的正确结构
  • 完整保留了你原本想要的所有配置:2分片1副本的集群设置、自定义的my_normalizer归一器,以及question字段的text/keyword/归一化keyword多字段映射

你可以把这段修正后的JSON提交给AWS ES服务,应该就能成功创建索引了。如果担心AWS环境的兼容性,也可以先在本地Elasticsearch实例验证配置结构,再同步到云端,避免重复踩坑~

内容的提问来源于stack exchange,提问作者Ankit Kumar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:37:36