我目前有格式的文档:
{
name: string
foo: integer or string
}
和
"mappings": {
"users": {
"properties": {
"name": {
"type": "string",
"index_analyzer": "edge_ngram_analyzer",
"search_analyzer": "standard"
}
}
}
}
当第一个文档被处理时,当前看到foo
为整数,而foo
是一个字符串的文档时出现错误 - 所以我需要将foo
设置为动态类型。我还希望以后可以使用其他动态类型属性向ES发送文档,而无需删除和重新创建索引,例如:
{
name: string
foo: int or string
bar: int or string
}
答案 0 :(得分:1)
为什么不将它声明为String,以便它匹配整数和字符串?基本上你的整数将被转换为字符串,但我不能想到这应该是有问题的原因,因为你必须在任何情况下检索数据时仔细解析,无论它是动态的还是固定为包含整数的字符串。 / p>