У меня есть несколько эластичных записей поиска в формате:
{
"_index": "sample_index",
"_type": "documents",
"_id": "SAMPLE-ID",
"_version": 5,
"_source": {
"users": {
"usernames": [
[
"username-1",
"username-2",
"username-3"
],
[
"username-4",
"username-5",
"username-6"
]
]
}
}
}
Я хочу объединить дочерние массивы usernames
и сохранить его как:
{
"_index": "sample_index",
"_type": "documents",
"_id": "SAMPLE-ID",
"_version": 5,
"_source": {
"users": {
"usernames": [
"username-1",
"username-2",
"username-3",
"username-4",
"username-5",
"username-6"
]
}
}
}
Такдалеко, я пытался получить все документы, которые имеют по крайней мере одно username
(могут быть документы, которые даже не имеют поля users
), используя:
GET sample_index/documents/_search
{
"query": {
"bool": {
"must": [
{
"nested": {
"path": "users",
"query": {
"exists": {
"field": "users.usernames[0]"
}
}
}
}
]
}
}
}
, но это неКажется, не работает.
Я новичок в Elasticsearch.Пожалуйста, помогите.