在我们的ElasticSearch-Cluster中,我们的文档包含一个对象数组。例如,“商店数据”销售一些包含名称和金额的商品。 现在,我们想通过Kibana(6.2.1版)过滤数据,例如
items.name:"firstItem" AND items.amount:5
目前我们的数据模型如下:
{
"shop":"Shop1",
"items": {[
{"name":"firstItem", "amount":2},
{"name":"secondItem", "amount":5}
]}
}
{
"shop":"Shop2",
"items": {[
{"name":"firstItem", "amount":5},
{"name":"secondItem", "amount":7},
{"name":"thirdItem", "amount":1}
]}
}
在查看我们的数据时,我们会面临一条警告,提示“数组对象不被很好地支持。”
是否存在任何可以帮助我们完成此请求的可能性或其他数据模型?
我们已经尝试过像这样格式化我们的数据,但是由于未考虑元素在数组中的位置,因此它返回误报:
{
"shop":"Shop1",
"items": {
"names":["firstItem", "secondItem"],
"amounts":[2, 5]
}
}
{
"shop":"Shop2",
"items": {
"names":["firstItem", "secondItem", "thirdItem"],
"amounts":[5, 7, 1]
}
}