Еластичний пошук

Elasticsearch Reindex на місці

Elasticsearch Reindex на місці
Індексація Elasticsearch - важлива функція, яка дозволяє двигуну працювати швидко і точно.

Однак, як відомо, коли дані потрапляють в індекс, вони не можуть бути змінені. Для цього вам потрібно буде переіндексувати дані з потрібними вам змінами. Цей процес може призвести до простою, що є не дуже вдалою практикою, особливо для послуги, яка вже знаходиться в обігу.

Щоб обійти це, ми можемо використовувати псевдоніми індексів, які дозволяють нам плавно перемикатися між індексами.

Як створити індекс?

Першим кроком є ​​переконатися, що у вас є існуючий індекс, який ви хочете оновити, дані.

У цьому підручнику ми матимемо старий та новий індекс, який буде функціонувати як їх імена.

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 " : "використай мене" ]'

Після завершення тепер ви можете видалити старий індекс, і програми використовуватимуть новий індекс (через псевдонім) без простою.

Висновок

Опанувавши концепції, розглянуті в цьому посібнику, ви зможете переіндексувати дані зі старого індексу в новий на місці.

Встановіть останню стратегічну гру OpenRA на Ubuntu Linux
OpenRA - це ігровий движок Libre / Free Real Time Strategy, який відтворює ранні ігри Вествуда, такі як класичний Command & Conquer: Red Alert. Пошире...
Встановіть найновіший емулятор Dolphin для Gamecube & Wii на Linux
Емулятор Dolphin дозволяє грати у вибрані вами ігри Gamecube та Wii на персональних комп’ютерах Linux (ПК). Будучи вільно доступним і відкритим ігров...
Як використовувати GameConqueror Cheat Engine в Linux
Стаття висвітлює посібник із використання механізму читів GameConqueror в Linux. Багато користувачів, які грають у ігри в Windows, часто використовуют...