在Elastic中使用建议器时,可以在索引文档时提供有效负载。每次使用建议者时,其有效载荷将与建议一起提供。
我想将文档的id字段的值添加到有效负载中。虽然在索引时很容易这样做,但我想在映射中处理它,因为我不想改变将文档转换为JSON的方式。
我尝试了以下内容:
POST test
{
"mappings" : {
"type1" : {
"properties" : {
"id": {"type": "String", "copy_to": ["field1_suggest.payload"]},
"field1" : { "type" : "string", "copy_to": ["field1_suggest"]},
"field1_suggest":{"type": "completion", "payloads": true}
}
}
}
}
POST test/type1/1
{
"id": "payload",
"field1": "my value"
}
这失败了,因为"有效载荷"不是field_suggest的真实领域:
"错误":" MapperParsingException [尝试将值复制到不存在的对象[field1_suggest.payload]]"," status":400
如何自动在有效负载中包含字段?如果不可能,我想我将不得不使用主流查询来获得完成建议......