2016-02-01 4 views
1

Для созданного приложения, индексы генерируются один раз в неделю. И тип и характер данных не меняются, и это означает, что для этих индексов мне нужен один и тот же тип сопоставления. Возможно ли в elasticsearch применять одно и то же отображение ко всем индексам по мере их создания ?. Это могло бы избежать накладных расходов при определении сопоставления каждый раз при создании индекса.Как создать общий шаблон отображения для индексов?

ответ

0

Вы можете использовать шаблон индекса, чтобы решить вашу проблему. Официальную документацию можно найти: here. Вариант использования того же с примерами приведен в этом blog

1

Определенно, вы можете использовать так называемый index template. Поскольку ваш тип отображения является стабильным, это идеальное условие для использования шаблонов индексов.

Это так же просто, как создание индекса. Ниже, когда вы хотите индексировать документ в индексе, имя которого совпадает my_*, ES будет выбрать этот шаблон и создать индекс для вас, используя данные отображения, настройки и псевдонимы:

curl -XPUT localhost:9200/_template/template_1 -d '{ 
    "template" : "my_*", 
    "settings" : { 
     "number_of_shards" : 1 
    }, 
    "aliases" : { 
     "my_alias" : {} 
    }, 
    "mappings" : { 
     "my_type" : { 
      "properties" : { 
       "my_field": { "type": "string" } 
      } 
     } 
    } 
}' 

Это в основном метод, используемый Logstash, когда ему нужно индексировать новые журналы для каждого нового дня в новом ежедневном индексе.

Смежные вопросы