Цей підручник допоможе вам ознайомитись із тонкощами шаблонів індексів Elasticsearch, які дозволять вам визначати шаблони або схеми загальних індексів. Наприклад, якщо ви постійно реєструєте дані із зовнішніх джерел, ви можете визначити план для всіх індексів реєстрації.
ПРИМІТКА: Перш ніж розпочати, варто зазначити, що підручник зосереджений на останній версії Elasticsearch-7.8 на момент написання - і це може відрізнятися від інших версій. Ми також припускаємо, що у вас Elasticsearch десь працює в системі.
Почнімо працювати з шаблонами індексів Elasticsearch.
Що таке шаблон індексу Elasticsearch?
Шаблон індексу Elasticsearch - це метод, який використовується для вказівки Elasticsearch налаштовувати індекси при створенні. Наприклад, шаблон індексу, що використовується в потоці даних, налаштовує індекси підтримки потоку під час створення. Шаблон індексу створюється вручну перед створенням індексу. Створюючи індекс, шаблон застосовує параметри конфігурації для індексу.
Остання версія Elasticsearch має два типи корисних шаблонів. Одним із них є індекс шаблон, а інший - це шаблони компонентів. Як ми вже встановили, шаблони індексів допомагають створювати індекси Elasticsearch.
Шаблони компонентів - це багаторазові модулі або блоки, що використовуються для налаштування параметрів, відображення та псевдонімів. Шаблони компонентів не застосовуються безпосередньо до створених індексів, але можуть допомогти у створенні шаблонів індексів.
Деякі шаблони індексів за замовчуванням, що використовуються Elasticsearch, включають: метрики - * - *, журнали - * - * .
Як створити шаблон індексу
Для створення нових шаблонів індексів або оновлення існуючих ми використовуємо API шаблону PUT. За допомогою кінцевої точки _index_template ми можемо надіслати запит HTTP для додавання шаблону.
Загальним синтаксисом для створення шаблону є:
ВСТАНОВИТИ _index_template / шаблон_назвиДобре зауважити, що назва шаблону є обов’язковим параметром. Розгляньте поданий нижче запит, який створює шаблон індексу як template_1
ВСТАНОВИТИ _index_template / template_1/ * Визначити шаблон індексу * /
"index_patterns": ["te *"],
"пріоритет": 1,
/ * Визначте налаштування для індексів * /
"шаблон":
"налаштування":
"number_of_shards": 2
Для користувачів cURL команда:
curl -XPUT "http: // localhost: 9200 / _index_template / template_1" -H 'Тип вмісту: application / json' -d '/ * Визначити шаблон індексу * / "index_patterns": ["te *"], "priority": 1, / * Визначте налаштування для індексів * / "template": "settings": "number_of_shards": 2 'Elasticsearch використовує шаблон підстановки, щоб відповідати іменам індексів, де застосовуються шаблони. Зміна або оновлення шаблону індексу не впливає на вже створені індекси, а лише на ті, які будуть створені після використання цього шаблону.
Зверху ви можете коментувати свої шаблони, використовуючи метод коментування на C-мові. Ви можете додати скільки завгодно коментарів, де завгодно в тілі, крім відкриття фігурних дужок.
В тілі шаблону індексу ви можете включити різні визначення, такі як:
- Шаблон: Властивість шаблону (об’єкт) визначає, який шаблон застосовувати; він може включати псевдоніми, зіставлення та налаштування - це необов’язковий параметр.
- Складається з: Ця властивість визначає список імен для шаблонів компонентів. Одного разу визначившись, шаблони компонентів складаються в порядку їх специфікації. Це означає, що останній визначений шаблон компонента має найвищий пріоритет.
- Пріоритет: Властивість пріоритету визначає перевагу шаблону індексу під час створення індексу. Якщо будь-який пріоритет має найвище значення, він отримує вищий пріоритет порівняно з нижчими значеннями. Значення пріоритету не є обов’язковим і має ціле число. 0 - значення за замовчуванням для невказаних шаблонів.
- Версія: Параметр version визначає версію шаблону індексу, яка допомагає керувати шаблонами.
Є й інші властивості, які ви можете включити в тіло шаблону індексу. Розгляньте документацію, щоб дізнатись більше.
https: // www.еластичний.co / guide / en / elasticsearch / reference / 7.10 / індекс-шаблони.html
Нижче наведено приклад запиту на створення нового шаблону з версією 1.0
PUT / _index_template / template_2"index_patterns": ["remp *", "re *"],
"пріоритет": 1,
"шаблон":
"налаштування":
"number_of_shards": 2,
"number_of_replicas": 0
,
"версія": 1.0
Ви не можете мати більше одного шаблону індексу з відповідним шаблоном і однаковим пріоритетом. Отже, переконайтеся, що призначаєте різні пріоритети для збігу шаблонів шаблонів.
Як отримати шаблон індексу
Щоб переглянути інформацію про шаблон індексу, надішліть запит GET в API _index_template. Наприклад, щоб переглянути інформацію про шаблон_2, використовуйте запит:
ОТРИМАЙ _index_template / template_2Команда cURL:
curl -XGET "http: // localhost: 9200 / _index_template / template_2"Ця команда повинна відображати інформацію про шаблон_2
"index_templates": [
"name": "template_2",
"index_template":
"шаблони_індексу": [
"remp *",
"повторно *"
],
"шаблон":
"налаштування":
"індекс":
"number_of_shards": "2",
"number_of_replicas": "0"
,
"складається з" : [ ],
"пріоритет": 1,
"версія": 1
]
Ви також можете використовувати узагальнюючі символи, щоб отримати відповідні шаблони. Наприклад, розгляньте наведений нижче запит, щоб переглянути всі шаблони в Elasticsearch.
ОТРИМАТИ _index_template / *Команда cURL є.
curl -XGET http: // localhost: 9200 / _index_template / *Ця команда повинна дати вам інформацію про всі шаблони в Elasticsearch
"index_templates": [
"name": "ilm-історія",
"index_template":
"шаблони_індексу": [
"ilm-history-3 *"
],
"шаблон":
"налаштування":
"індекс":
"format": "1",
"життєвий цикл" :
"name": "ilm-history-ilm-policy",
"rollover_alias": "ilm-history-3"
,
"hidden": "правда",
"number_of_shards": "1",
"auto_expand_replicas": "0-1",
"number_of_replicas": "0"
,
"відображення":
"динамічний": помилковий,
"властивості":
"index_age":
"type": "довгий"
,
"@timestamp":
"format": "epoch_millis",
"type": "дата"
,
"error_details":
"type": "текст"
,
"успіх":
"type": "boolean"
,
"індекс":
"type": "ключове слово"
,
"стан":
"динамічний": істина,
"type": "об'єкт",
--------------------------ВИХІД ВИКОНАНО-----------------------------------
Як видалити шаблони
Видалення шаблону так само просто, як шаблон GET, але використання запиту DELETE, як:
ВИДАЛИТИ _index_template / template_2Ви можете використовувати команду cURL:
curl -XDELETE "http: // localhost: 9200 / _index_template / template_2"Ця команда автоматично видаляє вказаний шаблон.
Висновок
У цьому посібнику висвітлено, що таке шаблони індексів Elasticsearch, як вони працюють та як створювати, переглядати та видаляти шаблони індексів. Ця основна інформація повинна допомогти вам розпочати використання індексних шаблонів Elasticsearch.