# Как можно сделать облоко тегов на elasticsearch?

**URL:** <https://discuss.elastic.co/t/elasticsearch/50294>\
**Category:** Вопросы на русском языке\
**Created:** [May 18, 2016, 4:57am UTC](https://discuss.elastic.co/t/elasticsearch/50294 "2016-05-18T04:57:44Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![MaxSeleznov](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@MaxSeleznov](https://discuss.elastic.co/u/MaxSeleznov)\
**Post date:** [May 18, 2016, 4:57am UTC](https://discuss.elastic.co/t/elasticsearch/50294/1 "2016-05-18T04:57:44Z")

</div>

мне надо получить спосок постов за последнии 24 часа и найти самые весомые слова из этих постов

это мой мапинг на es 5.0.0

```
{
  "state": "open",
  "settings": {
    "index": {
      "creation_date": "1463528294402",
      "analysis": {
        "analyzer": {
          "text": {
            "filter": [
              "stop",
              "lowercase",
              "snowball"
            ],
            "tokenizer": "standard"
          }
        }
      },
      "number_of_shards": "5",
      "number_of_replicas": "0",
      "uuid": "ExTKzvL3Snm5-9ic8Iqybw",
      "version": {
        "created": "5000002"
      }
    }
  },
  "mappings": {
    "post": {
      "properties": {
        "title": {
          "analyzer": "text",
          "type": "text"
        }
      }
    }
  },
  "aliases": [],
  "primary_terms": {
    "0": 1,
    "1": 1,
    "2": 1,
    "3": 1,
    "4": 1
  },
  "active_allocations": {
    "0": [
      "cs_AUlwHSL22nlS2mTBjAg"
    ],
    "1": [
      "L3wiu4f-TPqMk8aUkEmVeA"
    ],
    "2": [
      "3IA7gl0QRFmiG8Mod0GRZg"
    ],
    "3": [
      "PtpzRKUUTziorxQrB38nlg"
    ],
    "4": [
      "mTeDnGYoSqy8SSx-ni8NrQ"
    ]
  }
}
```

---

<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:** [May 18, 2016, 7:22pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/2 "2016-05-18T19:22:32Z")

</div>

> [@MaxSeleznov](#):
>
> самые весомые слова

Что определяет весомость слова в вашем случае?

---

<div class="post-metadata">

**Author:** ![MaxSeleznov](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@MaxSeleznov](https://discuss.elastic.co/u/MaxSeleznov)\
**Post date:** [May 18, 2016, 7:36pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/3 "2016-05-18T19:36:15Z")

</div>

например есть заголовки

"привет вася"  
"привет федя"  
"привет дима, привет маша"

нужен такой результат

привет 3  
вася 1  
федя 1  
дима 1  
маша 1

---

<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:** [May 18, 2016, 10:51pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/4 "2016-05-18T22:51:55Z")

</div>

Тогда [term aggs](https://www.elastic.co/guide/en/elasticsearch/reference/2.3/search-aggregations-bucket-terms-aggregation.html). Только осторожней с памятью. Если индекс большой, памяти может потребоваться для этой операции много.

---

<div class="post-metadata">

**Author:** ![MaxSeleznov](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@MaxSeleznov](https://discuss.elastic.co/u/MaxSeleznov)\
**Post date:** [May 18, 2016, 11:18pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/5 "2016-05-18T23:18:17Z")

</div>

А про какие размеры идёт речь, может создать для этого отдельный индекс только с теми документами что актуальны?

И как включить fieldsdata оно по умолчанию отключено и я не совсем понял как включить

---

<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:** [May 18, 2016, 11:26pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/6 "2016-05-18T23:26:45Z")

</div>

> [@MaxSeleznov](#):
>
> И как включить fieldsdata оно по умолчанию отключено и я не совсем понял как включить

Посмотрите документацию по [fielddata](https://www.elastic.co/guide/en/elasticsearch/reference/master/fielddata.html). Там все написано, и даже пример есть как включать.

---

<div class="post-metadata">

**Author:** ![MaxSeleznov](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@MaxSeleznov](https://discuss.elastic.co/u/MaxSeleznov)\
**Post date:** [May 18, 2016, 11:55pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/7 "2016-05-18T23:55:19Z")

</div>

Спасибо а как насчёт того чтобы создать отдельный индекс или можно все в текущим крутить ? Сейчас там 20к записей общий объём данных около 30мб, я понимаю это мало чтобы спрашивать, но в бущушем планируется намного больше может через пол года до 1м записей, сервер с 2гб памяти стоит ли мне выносить это в отдельный индекс?

---

<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:** [July 6, 2017, 1:48pm UTC](https://discuss.elastic.co/t/elasticsearch/50294/8 "2017-07-06T13:48:15Z")

</div>

Closed on July 6, 2017, 1:48pm UTC


