# Автосоздание индекса по полю

**URL:** <https://discuss.elastic.co/t/topic/122730>\
**Category:** Вопросы на русском языке\
**Created:** [March 6, 2018, 2:54pm UTC](https://discuss.elastic.co/t/topic/122730 "2018-03-06T14:54:54Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![akaNightmare](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/akanightmare/32/27027_2.png) [@akaNightmare](https://discuss.elastic.co/u/akaNightmare)\
**Post date:** [March 6, 2018, 2:54pm UTC](https://discuss.elastic.co/t/topic/122730/1 "2018-03-06T14:54:54Z")

</div>

Здравствуйте,

у меня есть индексы типа _logs-2015_, _logs-2016_, _logs-2017_, _logs-2018_ которые хранят логи. Все эти индексы были созданы полу-автоматически или вручную и писались логи каждый в свой индекс базируясь от поля _created\_at_ в самом теле лога.

Вопрос такой:  
Есть ли такой механизм который автоматически создает индекс базируясь от поля в документе, и если нет так как это обычно делается?

Благодарю за ответ.

---

<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:** [March 6, 2018, 5:03pm UTC](https://discuss.elastic.co/t/topic/122730/2 "2018-03-06T17:03:38Z")

</div>

> [@akaNightmare](#):
>
> Есть ли такой механизм который автоматически создает индекс базируясь от поля в документе, и если нет так как это обычно делается?

Я не совсем понимаю, что вы хотите добиться. Как поле должно менять создание индекса? Вы не могли бы показать на примере, какую проблему вы пытаетесь решить.

---

<div class="post-metadata">

**Author:** ![akaNightmare](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/akanightmare/32/27027_2.png) [@akaNightmare](https://discuss.elastic.co/u/akaNightmare)\
**Post date:** [March 6, 2018, 6:09pm UTC](https://discuss.elastic.co/t/topic/122730/3 "2018-03-06T18:09:51Z")

</div>

проще говоря мне нужно хранить логи только в тех индексах к которым эти логи относятся.  
Например:  
event1  
created\_at: 2017-05-05 -\> нужно что бы был записан в logs-2017  
event1  
created\_at: 2018-01-01 -\> нужно что бы был записан в logs-2018

и тд.

Нашел что-то похожее [https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html](https://www.elastic.co/guide/en/elasticsearch/reference/master/indices-rollover-index.html) но это не то что мне нужно.  
но мне

---

<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:** [March 6, 2018, 6:12pm UTC](https://discuss.elastic.co/t/topic/122730/4 "2018-03-06T18:12:48Z")

</div>

Тогда, похоже, Вам нужен [Date Index Name Processor](https://www.elastic.co/guide/en/elasticsearch/reference/master/date-index-name-processor.html).

---

<div class="post-metadata">

**Author:** ![akaNightmare](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/akanightmare/32/27027_2.png) [@akaNightmare](https://discuss.elastic.co/u/akaNightmare)\
**Post date:** [March 6, 2018, 6:44pm UTC](https://discuss.elastic.co/t/topic/122730/5 "2018-03-06T18:44:02Z")

</div>

как раз то что нужно.  
но остается вопрос автоматического создания индекса. Например создание индекса на каждый день:  
_logs-2018-01-01_  
_logs-2018-01-02_  
_logs-2018-01-02_

Есть идея просто каждый день в полночь через крон создавать вручную через скрипт или создать наперед на лет 10.

---

<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:** [March 6, 2018, 6:47pm UTC](https://discuss.elastic.co/t/topic/122730/6 "2018-03-06T18:47:30Z")

</div>

Если индекс не существует и вы попытаетесь добавить в него запись, индекс будет создан автоматически. Вы можете добавить [index template](https://www.elastic.co/guide/en/elasticsearch/reference/6.2/indices-templates.html) если вам нужен контроль над установками и схемой.

---

<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:** [April 3, 2018, 6:48pm UTC](https://discuss.elastic.co/t/topic/122730/7 "2018-04-03T18:48:00Z")

</div>

Closed on April 3, 2018, 6:48pm UTC

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