当前位置: 首页 > 面试题库 >

Elasticsearch:根映射定义具有不受支持的参数索引:not_analyzed

傅星光
2023-03-14
问题内容

大家好,我正在尝试创建架构测试

PUT /test
{
    "mappings": {
        "field1": {
            "type": "integer"
        },
        "field2": {  
            "type": "integer"
        },
        "field3": {
            "type": "string",
            "index": "not_analyzed"
        },
        "field4": {
            "type": "string",
            "analyzer": "autocomplete",
            "search_analyzer": "standard"
        }
    },
    "settings": {
        bla
        bla
        bla
    }
}

我收到以下错误

{
    "error": {
        "root_cause": [{
            "type": "mapper_parsing_exception",
            "reason": "Root mapping definition has unsupported parameters: [index : not_analyzed] [type : string]"
        }],
        "type": "mapper_parsing_exception",
        "reason": "Failed to parse mapping [featured]: Root mapping definition has unsupported parameters:  [index : not_analyzed] [type : string]",
        "caused_by": {
            "type": "mapper_parsing_exception",
            "reason": "Root mapping definition has unsupported parameters:  [index : not_analyzed] [type : string]"
        }
    },
    "status": 400
}

请帮助我解决此错误


问题答案:

您快到这里了,只是缺少了一些东西:

PUT /test
{
  "mappings": {
    "type_name": {                <--- add the type name
      "properties": {             <--- enclose all field definitions in "properties"
        "field1": {
          "type": "integer"
        },
        "field2": {
          "type": "integer"
        },
        "field3": {
          "type": "string",
          "index": "not_analyzed"
        },
        "field4,": {
          "type": "string",
          "analyzer": "autocomplete",
          "search_analyzer": "standard"
        }
      }
    }
  },
  "settings": {
     ...
  }
}

更新

如果您的索引已经存在,您还可以像这样修改映射:

PUT test/_mapping/type_name
{
    "properties": {             <--- enclose all field definitions in "properties"
        "field1": {
          "type": "integer"
        },
        "field2": {
          "type": "integer"
        },
        "field3": {
          "type": "string",
          "index": "not_analyzed"
        },
        "field4,": {
          "type": "string",
          "analyzer": "autocomplete",
          "search_analyzer": "standard"
        }
    }
}

更新

从ES
7开始,已删除映射类型。您可以在这里阅读更多详细信息



 类似资料:
  • 我是Elasticsearch的新手。我尝试了堆栈溢出和其他网站上提供的不同解决方案,但它们对我不起作用,这就是为什么我发布这个问题。 我正在尝试添加标记器“:“uax\u url\u email”,以便我可以轻松地使用查询搜索电子邮件。 但是,当我设置映射时,弹性搜索给了我以下错误: 根映射定义有不受支持的参数(mapper_parsing_exception) 我试图删除索引并重新创建它,但也

  • 我试图通过Python在Elasticsearch中创建一个索引。我部署了一个ES的本地实例,查询运行良好。但是,我有一个模式。这里是: 下面是我用来创建这个索引的代码

  • 在我的搜索引擎中,用户可以选择搜索大小写敏感或不敏感。如果他们选择这样做,查询将搜索使用自定义区分大小写分析器的字段。这是我的设置: 获取/candidates/_settings 因此,我从这个答案中创建了一个名为的自定义分析器。我试图定义我的,如下所示: 把/candidates/_mapping/candidate 因此,在查询区分大小写的匹配时,我可以执行以下操作: 我甚至没有进入最后一步

  • 我的NEST代码用于Elasticsearch版本6,在Elastichsearch版本7中抛出以下错误: 无法分析映射[_doc]:根映射定义包含不支持的参数: 我见过这个问题,它解释了ES 7中不推荐的映射类型。。。我不确定这是否是我的问题?如何解决这个问题? 这是我生成索引的代码: 这是我的文档 以下是Elasticsearch的响应(错误):

  • 我试图使用kibana开发工具在elasticsearch中创建一个索引,但我面临以下错误。请给我提建议。 错误:{type:"mapper_parsing_exception",原因:"根映射定义有不受支持的参数:[type: nested]} 这是工作罚款elasticsearch 7但不是在版本6.4.2