У меня есть несколько сообщений с вложенными объектами вложений. Мне нужно выбрать только те сообщения, которые имеют (введите Attachment с именем txt.txt ) AND (введите Inline с именем jpg.jpg ).
[{
"id": 1,
"hasAttachments": true,
"attachmentCount": 2,
"attachments": [
{
"type": "Attachment",
"name": "a.txt",
"mimeType": "text/plain"
},
{
"type": "Inline",
"name": "jpg.jpg",
"mimeType": "image/jpeg"
}
]
},
{
"id": 2,
"hasAttachments": true,
"attachmentCount": 2,
"attachments": [
{
"type": "Attachment",
"name": "txt.txt",
"mimeType": "text/plain"
},
{
"type": "Inline",
"name": "jpg.jpg",
"mimeType": "image/jpeg"
}
]
}]
Вот что я попробовал:
{
"query": {
"nested": {
"path": "attachments",
"score_mode": "avg",
"query": {
"bool": {
"must": [
{
"match": {
"attachments.type": "Attachment"
}
},
{
"match": {
"attachments.name": "txt.txt"
}
}
]
}
}
}
}
}
Это дает мне соответствующие документы, но как мне обернуть эти результаты и применить другой фильтр. Я потерян с этого момента. Любая помощь высоко ценится.