在现有索引的现有字段中添加带有分析器的多字段

问题描述 投票:0回答:1

我在elasticsearch中有一个现有索引(版本:5.1.1),其中有一些文档索引。索引中的映射(例如硬件)具有如下字段:

"biosSerialNumber" :{
     "type":"keyword"
}

我想使用分析器向其添加一个字段,如下所示:“ biosSerialNumber”:{“类型”:“关键字”,“田”:{“后缀”:{“类型”:“文本”,“分析”: “abc_analyzer”}}}

“ abc_analyzer”分析器已存在于索引设置中。可以吗我尝试使用PUT命令(在索引中添加新字段)执行此操作。但这似乎不起作用。

出现此错误:

{“错误”:{“根本原因”: [{“ type”:“ mapper_parsing_exception”,“ reason”:“ [fields]的映射定义具有不受支持的参数:[analyzer:suffix_match_analyzer]”}]“ type”:“ mapper_parsing_exception”,“ reason”:“ [fields]的映射定义具有不受支持的参数:[analyzer:suffix_match_analyzer]”},“状态”:400}

elasticsearch elasticsearch-5
1个回答
0
投票

如评论中所述,错误是因为我试图将分析器添加到'关键字'字段中,这是不允许的(出于显而易见的原因,未分析关键字类型)!这是一个示例试用。

而且,现在在对以下命令执行PUT请求之后:>

<elshost>/<index-name>/_mapping/<doc-type>

带有请求正文:

{
    "properties":{
        "asset":{
            "properties" :{
            "biosSerialNumber":{
                "type":"keyword",
                "fields":{
                  "suffix":{
                    "type":"text",
                    "analyzer":"abc_analyzer"
                  }
                }
              }
            }
        }
    }
}

工作。

我想,为了使此方法对现场的现有数据生效,需要重新索引文档。

© www.soinside.com 2019 - 2024. All rights reserved.