У меня проблемы с запросом данных вместе с вложенными объектами в 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
}
]
Вы можете мне помочь?