【问题标题】:elasticsearch - can mix number and number array datatype in same index same type?elasticsearch - 可以在同一索引相同类型中混合数字和数字数组数据类型吗?
【发布时间】:2017-08-23 22:08:39
【问题描述】:

我使用以下索引/类型创建了 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,一个文档有一个数字数组,另一个文档有一个数字。像这样查询索引/类型:

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

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

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

谁能解释发生了什么?即使没有括号,单个值是否也算作数组(即field: 123 与文档中的field: [123] 相同)?

谢谢:)

【问题讨论】:

    标签: elasticsearch elasticsearch-5


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-06
      • 1970-01-01
      • 2014-10-25
      • 2020-07-02
      • 1970-01-01
      • 2012-04-23
      相关资源
      最近更新 更多