# Упорядоченный список в painless

**URL:** <https://discuss.elastic.co/t/painless/270125>\
**Category:** Вопросы на русском языке\
**Created:** [April 14, 2021, 2:33pm UTC](https://discuss.elastic.co/t/painless/270125 "2021-04-14T14:33:56Z")\
**Posts on this page:** 8\
**Page:** 2

<div class="post-metadata">

**Author:** ![GreenX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/greenx/32/51751_2.png) [@GreenX](https://discuss.elastic.co/u/GreenX)\
**Post date:** [April 15, 2021, 8:45pm UTC](https://discuss.elastic.co/t/painless/270125/21 "2021-04-15T20:45:32Z")

</div>

Я понял. Цифры взяты для упрощения восприятия и реализации. Так то это обычные UUID-ы.

---

<div class="post-metadata">

**Author:** ![GreenX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/greenx/32/51751_2.png) [@GreenX](https://discuss.elastic.co/u/GreenX)\
**Post date:** [April 15, 2021, 8:48pm UTC](https://discuss.elastic.co/t/painless/270125/22 "2021-04-15T20:48:05Z")

</div>

> [@Igor\_Motov](#):
>
> То есть если я ищу в `["40", "1"]` туда должны входить документы из `["40", "1", "11", "4"]` ?

В объщем случае да. Но, тут возможен вариант с флагами листья/почки

---

<div class="post-metadata">

**Author:** ![GreenX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/greenx/32/51751_2.png) [@GreenX](https://discuss.elastic.co/u/GreenX)\
**Post date:** [April 15, 2021, 8:50pm UTC](https://discuss.elastic.co/t/painless/270125/23 "2021-04-15T20:50:01Z")

</div>

> [@Igor\_Motov](#):
>
> То есть 40, 1, 11, 4 и т.д. - это уникальные UUID вложенных директорий? И если 40 - это моя корневая директория и 1 - это поддиректория в ней, то больше ни у кого в системе не может быть директорий с такими UUID?

Да, это уникальная последовательность во всём наборе документов.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [April 15, 2021, 9:08pm UTC](https://discuss.elastic.co/t/painless/270125/24 "2021-04-15T21:08:29Z")

</div>

В этом случае я не понимаю проблему. Если меня интересуют все мои документы я просто ищу по UUID корневой директории, если меня интересует поддиректория и все вложенные в нее документы - я просто ищу по UUID этой поддиректории. Я не понимаю, зачем мне при поиске или агрегации нужно знать всю иерархию.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [April 15, 2021, 11:46pm UTC](https://discuss.elastic.co/t/painless/270125/26 "2021-04-15T23:46:00Z")

</div>

> [@GreenX](#):
>
> Есть разница от вложенность документов да и корень поиска тоже может быть отличным.

Вы опять какими-то загадками говорите.

---

<div class="post-metadata">

**Author:** ![GreenX](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/greenx/32/51751_2.png) [@GreenX](https://discuss.elastic.co/u/GreenX)\
**Post date:** [April 16, 2021, 8:00am UTC](https://discuss.elastic.co/t/painless/270125/27 "2021-04-16T08:00:46Z")

</div>

Что бы при поиске в поддиректории выдавать в агрегации только статистику относительно этой поддиректории, а не всей иерархии от корня.

---

<div class="post-metadata">

**Author:** ![Igor\_Motov](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/igor_motov/32/45193_2.png) [@Igor\_Motov](https://discuss.elastic.co/u/Igor_Motov)\
**Post date:** [April 19, 2021, 2:31am UTC](https://discuss.elastic.co/t/painless/270125/28 "2021-04-19T02:31:54Z")

</div>

Вот пример, я не вижу, где он выдает статистику всей иерархии от корня.

```auto
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"
      }
    }
  }
}

```

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [May 17, 2021, 2:32am UTC](https://discuss.elastic.co/t/painless/270125/29 "2021-05-17T02:32:27Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.

[Previous page](https://discuss.elastic.co/t/painless/270125.md?page=1)
