Както знаете обаче, след като данните бъдат картографирани в индекс, те не могат да бъдат модифицирани. За да направите това, ще трябва да преиндексирате данните с необходимите модификации. Този процес може да доведе до престой, което не е много добра практика, особено за услуга, която вече е в обращение.
За да заобиколим това, можем да използваме псевдоними на индексите, които ни позволяват да превключваме безпроблемно между индексите.
Как да създадете индекс?
Първата стъпка е да се уверите, че имате съществуващ индекс, който искате да актуализирате данните.
За този урок ще имаме стар и нов индекс, който ще функционира като техните имена.
PUT / old_index /"настройки":
"number_of_shards": 1
,
"псевдоними":
"използвай ме":
,
“Mappings”:
"Имоти":
"име":
"type": "текст"
,
"документ за самоличност":
"type": "integer"
,
„платено“:
"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 ":" boolean " 'След това създайте нов индекс, който ще използваме. Копирайте всички настройки и съпоставяния от стария индекс като:
PUT / new_index"настройки":
"number_of_shards": 1
,
"псевдоними":
"използвай ме":
,
“Mappings”:
"Имоти":
"име":
"type": "текст"
,
"документ за самоличност":
"type": "integer"
,
„платено“:
"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", "платено": "type" : "обект" 'Като разполагате с настройките и съпоставянията в новия индекс, използвайте API за реиндексиране, за да копирате данните от стария индекс в новия:
POST _reindex„Източник“:
"index": "old_index"
,
"dest":
"индекс": "нов_индекс"
Ето командата cURL:
curl -XPOST "http: / localhost: 9200 / _reindex" -H 'Content-Type: 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 'Content-Type: application / json' -d '"действия": ["add": "index": "new_index", "alias " : "използвай ме" ]'След като приключите, вече можете да премахнете стария индекс и приложенията ще използват новия индекс (поради псевдонима) без престой.
Заключение
След като овладеете концепциите, обсъдени в този урок, ще можете да преиндексирате данни от стар индекс към нов на място.