Я понял. Цифры взяты для упрощения восприятия и реализации. Так то это обычные UUID-ы.
В объщем случае да. Но, тут возможен вариант с флагами листья/почки
Да, это уникальная последовательность во всём наборе документов.
В этом случае я не понимаю проблему. Если меня интересуют все мои документы я просто ищу по UUID корневой директории, если меня интересует поддиректория и все вложенные в нее документы - я просто ищу по UUID этой поддиректории. Я не понимаю, зачем мне при поиске или агрегации нужно знать всю иерархию.
Вы опять какими-то загадками говорите.
Что бы при поиске в поддиректории выдавать в агрегации только статистику относительно этой поддиректории, а не всей иерархии от корня.
Вот пример, я не вижу, где он выдает статистику всей иерархии от корня.
DELETE test
PUT test
{
"mappings": {
"properties": {
"path": {
"type": "keyword"
},
"size": {
"type": "long"
}
}
}
}
POST /test/_bulk?refresh
{"index":{"_id":"I am root"}}
{"path": ["1"], "size": 1}
{"index":{"_id":"/a"}}
{"path": ["1", "2"], "size": 1}
{"index":{"_id":"/a/b"}}
{"path": ["1", "2"], "size": 1}
{"index":{"_id":"/a/b/c"}}
{"path": ["1", "2", "3"], "size": 1}
{"index":{"_id":"/a/b/d"}}
{"path": ["1", "2", "4"], "size": 1}
{"index":{"_id":"/a/e/f"}}
{"path": ["1", "5", "6"], "size": 1}
POST test/_search
{
"size": 0,
"query": {
"match": {
"path": "1"
}
},
"aggs": {
"stats_for_root": {
"sum": {
"field": "size"
}
}
}
}
POST test/_search
{
"size": 0,
"query": {
"match": {
"path": "2"
}
},
"aggs": {
"stats_for_a_b": {
"sum": {
"field": "size"
}
}
}
}
POST test/_search
{
"size": 0,
"query": {
"match": {
"path": "3"
}
},
"aggs": {
"stats_for_a_b_c": {
"sum": {
"field": "size"
}
}
}
}
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.