Еластично търсене

Elasticsearch Reindex на място

Elasticsearch Reindex на място
Индексирането на Elasticsearch е важна характеристика, която позволява на двигателя да работи бързо и точно.

Както знаете обаче, след като данните бъдат картографирани в индекс, те не могат да бъдат модифицирани. За да направите това, ще трябва да преиндексирате данните с необходимите модификации. Този процес може да доведе до престой, което не е много добра практика, особено за услуга, която вече е в обращение.

За да заобиколим това, можем да използваме псевдоними на индексите, които ни позволяват да превключваме безпроблемно между индексите.

Как да създадете индекс?

Първата стъпка е да се уверите, че имате съществуващ индекс, който искате да актуализирате данните.

За този урок ще имаме стар и нов индекс, който ще функционира като техните имена.

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 " : "използвай ме" ]'

След като приключите, вече можете да премахнете стария индекс и приложенията ще използват новия индекс (поради псевдонима) без престой.

Заключение

След като овладеете концепциите, обсъдени в този урок, ще можете да преиндексирате данни от стар индекс към нов на място.

Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...
Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...