Шаблоны В Elasticsearch Для Архивирования
Бывает такое, что нужно архивировать данные с возможностью быстрого поиска по данным.
Для начала, нужно определится с форматом самых индексов. Так как система может вместить много данных - то пока кластер будет один. Для этого заложим в имена класс данных - prod, sandbox и test.
Этими классами данных можно весьма легко разделить по паттернам для работы с шаблонами, жизненными циклами и остальными вещами. Мне удобно это все обявлять как префикс к имени индекса.
Для начала сделаем глобальные настройки
curl -k -XPUT -u elastic \
-H "Content-Type: application/json" \
'https://localhost:9200/_template/default' -d '{
"index_patterns": ["*"],
"settings": {
"index": {
"codec": "best_compression"
}
}
}'
curl -k -XPUT -u elastic \
-H "Content-Type: application/json" \
'https://localhost:9200/_all/_settings' -d '{
"index.number_of_replicas": "1",
"index.number_of_shards": "2"
}'
Дальше делаем индивидуальные настройки
curl -k -XPUT -u elastic \
-H "Content-Type: application/json" \
'https://localhost:9200/_template/svc-sandbox' -d '{
"index_patterns": ["sandbox-*"],
"settings": {
"index": {
"number_of_replicas": "0",
"number_of_shards": "2"
}
}
}'
curl -k -XPUT -u elastic \
-H "Content-Type: application/json" \
'https://localhost:9200/_template/svc-prod' -d '{
"index_patterns": ["prod-*"],
"settings": {
"index": {
"number_of_replicas": "1",
"number_of_shards": "4"
}
}
}'
curl -k -XPUT -u elastic \
-H "Content-Type: application/json" \
'https://localhost:9200/_template/svc-test' -d '{
"index_patterns": ["test-*"],
"settings": {
"index": {
"number_of_replicas": "0",
"number_of_shards": "1"
}
}
}'