当前位置: 首页 > 知识库问答 >
问题:

[字段]的映射定义具有不支持的参数:[analyzer:case_sensity]

戚建华
2023-03-14

在我的搜索引擎中,用户可以选择搜索大小写敏感或不敏感。如果他们选择这样做,查询将搜索使用自定义区分大小写分析器的字段。这是我的设置:

获取/candidates/_settings

{
    "candidates": {
        "settings": {
            "index": {
                "number_of_shards": "5",
                "provided_name": "candidates",
                "creation_date": "1528210812046",
                "analysis": {
                    "analyzer": {
                        "case_sensitive": {
                            "filter": [
                                "stop",
                                "porter_stem"
                            ],
                            "type": "custom",
                            "tokenizer": "standard"
                        }
                    }
                },
                ...
            }
        }
    }
}

因此,我从这个答案中创建了一个名为case_sensition的自定义分析器。我试图定义我的映射,如下所示:

把/candidates/_mapping/candidate

{
    "properties": {
        "first_name": {
            "type": "text",
            "fields": {
                "case": { 
                    "type": "text",
                    "analyzer": "case_sensitive"
                }
            }
        }
    }
}

因此,在查询区分大小写的匹配时,我可以执行以下操作:

simple_query_string: {
    query: **text to search**,
    fields: [
        "first_name.case"
    ]
}

我甚至没有进入最后一步,因为当我试图定义映射时,我得到了标题中描述的错误。完整的堆栈跟踪如下图所示:

我最初认为我的错误与此类似,但我认为这个问题只与使用关键字标记器有关,而与标准有关

共有1个答案

孟乐逸
2023-03-14

在这个映射定义中,我实际上试图调整几个不同字段的映射,而不仅仅是first_name。其中一个字段的类型为long,这是引发错误的映射定义。当我把它从映射定义中移除时,它就像预期的那样工作了。但是,我不确定为什么这种数据类型会失败?

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

  • 问题内容: 大家好,我正在尝试创建架构测试。 我收到以下错误 请帮助我解决此错误 问题答案: 您快到这里了,只是缺少了一些东西: 更新 如果您的索引已经存在,您还可以像这样修改映射: 更新 : 从ES 7开始,已删除映射类型。您可以在这里阅读更多详细信息

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

  • 我有以下映射,它给出了最新elasticsearch的错误: 我得到以下错误。。。怎么了?“根映射定义有不受支持的参数:[mydoctype:{properties={location={type=geo_point}}}]

  • 为什么推土机不能将数字类型的源类变量映射到相同类型的目标类变量? 正在获取以下异常: 在这里,源类和目标类都引用了相同的类类型,比如事务。两者都有Number字段,但在从源类映射到目标类时,它会引发这样的异常。 我不明白为什么同一数据类型会出现“参数不匹配”?

  • avro.version= 在avro模式中,map type不支持缺省值。我尝试了以下不同的模式。 第一: 第二: 第三: Java代码如下: 我只希望constraintQuantities和RawQuanties为null。因为这些是可选字段。即使我没有将它们设置为null,它也会抛出异常。 最重要的是,方法生成java POJO,但无法构建该对象。 如果不设置它们为空,然后接收以下异常: