我在查询数据以及 ES 中的嵌套对象时遇到了一些麻烦。更像是 SQL 中的左连接,
SELECT
select_list
FROM
T1
LEFT JOIN T2 ON
join_predicate;
它将根据给定的术语和匹配的嵌套对象返回所有数据。
请看下面的例子。
1.这是我的映射...
{
mappings: {
_doc: {
properties: {
accountId: { type: 'keyword' },
history: {
type: 'nested',
properties: {
status: { type: 'keyword' },
createdAt: { type: 'date' }
}
}
}
}
}
}
2. ES内部的数据
[
{
accountId: 10001,
history: {
status: "NEW",
createdAt: "2010-01-01"
}
},
{
accountId: 10002,
history: {
status: "NEW",
createdAt: "2010-01-02"
}
},
{
accountId: 10001,
history: {
status: "FAIL",
createdAt: "2010-01-03"
}
},
{
accountId: 10004,
history: {
status: "FAIL",
createdAt: "2010-01-04"
}
},
{
accountId: 10001,
history: {}
},
{
accountId: 10001
}
]
3.我需要获取accountId为10001的所有数据(包括嵌套对象) 。
所以基本上它应该返回以下数据。
[
{
accountId: 10001,
history: {
status: "NEW",
createdAt: "2010-01-01"
}
},
{
accountId: 10001,
history: {
status: "FAIL",
createdAt: "2010-01-03"
}
},
{
accountId: 10001,
history: {}
},
{
accountId: 10001
}
]
你能帮助我吗?