数组中的Elasticseach数组

时间:2018-01-04 00:00:05

标签: elasticsearch nested

我想在ElasticSearch中存储以下数据。 有人能让我知道如何存储数组:

{
  "cars": [
    [
      {
        "car": "merc",
        "color": "yellow"
      },
      {
        "car": "merc",
        "color": "red"
      }
    ],
    [
      {
        "car": "bmw",
        "color": "yellow"
      },
      {
        "car": "bmw",
        "color": "red"
      }
    ]
  ]
}

2 个答案:

答案 0 :(得分:0)

您可能无法存储数组数组,查询该数组。 reference

  

你不能直接存储数组数组然后查询   特定对,由于此数据存储在内部的方式   Lucene的。有关Array datatypeNested datatype的文档   更详细地解释这一点,并提供替代,取决于   以后您需要如何访问数据。

答案 1 :(得分:0)

这些数据没有错。我可以从kibana输入这些数据。

POST /cars/information/1
{
  "cars": [
    [
      {
        "car": "merc",
        "color": "yellow"
      },
      {
        "car": "merc",
        "color": "red"
      }
    ],
    [
      {
        "car": "bmw",
        "color": "yellow"
      },
      {
        "car": "bmw",
        "color": "red"
      }
    ]
  ]
}

这里'汽车'是索引,'信息'是类型和' 1'是id。从kibana尝试,然后通过此请求搜索查询

GET /cars/information/_search