Однак, як відомо, коли дані потрапляють в індекс, вони не можуть бути змінені. Для цього вам потрібно буде переіндексувати дані з потрібними вам змінами. Цей процес може призвести до простою, що є не дуже вдалою практикою, особливо для послуги, яка вже знаходиться в обігу.
Щоб обійти це, ми можемо використовувати псевдоніми індексів, які дозволяють нам плавно перемикатися між індексами.
Як створити індекс?
Першим кроком є переконатися, що у вас є існуючий індекс, який ви хочете оновити, дані.
У цьому підручнику ми матимемо старий та новий індекс, який буде функціонувати як їх імена.
PUT / old_index /"налаштування":
"number_of_shards": 1
,
"псевдоніми":
"використай мене":
,
“Відображення”:
"властивості":
"ім'я":
"type": "текст"
,
"id":
"type": "ціле число"
,
"оплачено":
"type": "boolean"
Для користувачів cURL використовуйте додану команду:
curl -XPUT "http: // localhost: 9200 / old_index /" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me" : , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type ":" логічне " 'Далі створіть новий індекс, який ми будемо використовувати. Скопіюйте всі налаштування та зіставлення зі старого індексу як:
PUT / new_index"налаштування":
"number_of_shards": 1
,
"псевдоніми":
"використай мене":
,
“Відображення”:
"властивості":
"ім'я":
"type": "текст"
,
"id":
"type": "ціле число"
,
"оплачено":
"type": "об'єкт"
Ось команда cURL:
curl -XPUT "http: // localhost: 9200 / new_index" -H 'Content-Type: application / json' -d '"settings": "number_of_shards": 1, "aliases": "use_me": , "Mappings": "properties": "name": "type": "text", "id": "type": "integer", "paid": "type" : "об'єкт" 'Встановивши параметри та зіставлення в новому індексі, використовуйте API переіндексу, щоб скопіювати дані зі старого індексу в новий:
Опублікувати _reindex“Джерело”:
"index": "old_index"
,
"dest":
"index": "new_index"
Ось команда cURL:
curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Тип вмісту: application / json' -d '"source": "index": "old_index", "dest": "index" : "new_index" 'Тепер скопіюйте псевдонім старого індексу в новий, використовуючи файл _alias api як:
POST / _ псевдоніми"дії": [
"add": "index": "new_index", "alias": "use_me"
]
Ось команда cURL:
curl -XPOST "http: // localhost: 9200 / _aliases" -H 'Тип вмісту: application / json' -d '"дії": ["add": "index": "new_index", "alias " : "використай мене" ]'Після завершення тепер ви можете видалити старий індекс, і програми використовуватимуть новий індекс (через псевдонім) без простою.
Висновок
Опанувавши концепції, розглянуті в цьому посібнику, ви зможете переіндексувати дані зі старого індексу в новий на місці.