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



我在索引/类型中使用以下命令创建了 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.nnProin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.nnDuis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.nnDonec 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.nnDuis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.nnIn 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"
}
}
}
]
}
}
}

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

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

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

谢谢:)

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

最新更新