当我想在elasticsearch 中索引文档时,会发生此问题:
message [MapperParsingException[failed to parse]; nested: IllegalArgumentException[unknown field name [output], must be one of [input, weight, contexts]];]
我知道输出字段在版本 5 中从 elasticsearch 中删除了,但为什么呢?我必须做什么才能获得输入的单一结果?
output
字段从版本 5 中的 ElasticSearch 中删除,现在 _source
提交带有建议的退货。示例如下所示。
映射
{
"user": {
"properties": {
"name": {
"type": "string"
},
"suggest": {
"type": "completion",
"analyzer": "simple",
"search_analyzer": "simple"
}
}
}
}
数据
{
"id": "123",
"name": "Abc",
"suggest":
{
"input": "Abc::123"
},
"output": "Abc::123"
}
查询
POST - http://localhost:9200/user*/_suggest?pretty
{
"type-suggest": {
"text": "Abc",
"completion": {
"field": "suggest"
}
}
}
Elastic 提到以下内容
由于建议是面向文档的,因此建议元数据(例如输出)现在应指定为文档中的字段。删除了在索引建议条目时指定输出的支持。现在,建议结果条目的文本始终是建议输入的未分析值(与在 5.0 之前的索引中对建议进行索引时不指定输出相同)。