elasticsearch - 可以在同一索引相同类型中混合数字和数字数组数据类型吗?

elasticsearch - can mix number and number array datatype in same index same type?

我在 index/type 中使用以下方法创建了 2 个自动生成的测试数据文档:

POST /mymixedata/lists-and-nums/
{
  "pat_first_name": "Balduin",
  "pat_last_name": "Goodbairn",
  "gender": "Male",
  "diag_codes": "T84028D",
  "prov_first_name": "Dwight",
  "prov_last_name": "Croutear",
  "prov_addr": "617 Monterey Drive",
  "rand_list": [
    123,
    456,
    123
  ],
  "notes": "Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus."
}


POST mymixedata/lists-and-nums
{
  "pat_first_name": "Goorbi",
  "pat_last_name": "Goorbson",
  "gender": "Female",
  "diag_codes": "S22039D",
  "prov_first_name": "Tarrah",
  "prov_last_name": "Jimeno",
  "prov_addr": "13483 Walton Road",
  "rand_list": 100,
  "notes": "Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum.\n\nProin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.\n\nDuis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.\n\nDonec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.\n\nDuis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.\n\nIn sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus."
}

请注意,对于字段 rand_list,一个文档有一个 nums 数组,另一个只有一个 num。像这样查询 index/type:

{
  "query": {
    "bool": {
      "must": [
        {
          "range": {
            "rand_list": {
              "gt": "50"
            }
          }
        }
      ]
    }
  }
}

我取回了两个文档,这似乎是我想要的行为(假设它检查第一个文档中的数组数组和第二个文档中的单个 num 以确定它们是否包含大于 50 的值) .

除了 here,我找不到太多关于弹性如何处理有时有数组有时有单个值的字段的文档。

谁能解释一下这是怎么回事?即使单个值没有括号(即 field: 123 与文档中的 field: [123] 相同),它们是否也算作数组?

谢谢:)

我想我只是没有仔细阅读文档。事实证明,yes 可以为文档中的相同字段具有相同数据类型的数组或单个值。