我有一个基于Products的索引,映射中声明的一个字段是Attributes。此字段是嵌套类型,因为它将包含两个值 - 键和值。我遇到的问题是,取决于属性的上下文,value的数据类型可以在整数和字符串之间变化。
例如:
{"attributes":[{"key":"StrEx","value":"Red"},{"key":"IntEx","value":2}]}
似乎是'值'的每个实例的数据类型。在所有未来的属性中的嵌套文档中,根据输入的第一个数据来决定。我需要能够将它存储为整数/长数据类型,以便我可以执行范围查询。
非常感谢任何帮助或其他想法。
答案 0 :(得分:2)
对于value
字段,您需要这样的映射:
"value": {
"type": "string",
"fields": {
"as_number": {
"type": "integer",
"ignore_malformed": true
}
}
}
基本上,您的字段为string
但使用fields
您可以尝试将其格式化为数字字段。
如果您想使用range
个查询,请使用value.as_number
,其他任何内容都使用value
。