我在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}
如评论中所述,错误是因为我试图将分析器添加到'关键字'字段中,这是不允许的(出于显而易见的原因,未分析关键字类型)!这是一个示例试用。
而且,现在在对以下命令执行PUT请求之后:>
<elshost>/<index-name>/_mapping/<doc-type>
带有请求正文:
{ "properties":{ "asset":{ "properties" :{ "biosSerialNumber":{ "type":"keyword", "fields":{ "suffix":{ "type":"text", "analyzer":"abc_analyzer" } } } } } } }
工作。
我想,为了使此方法对现场的现有数据生效,需要重新索引文档。