Elastik Arama

Elasticsearch Reindex'i Yerinde

Elasticsearch Reindex'i Yerinde
Elasticsearch indeksleme, motorun hızlı ve doğru bir şekilde çalışmasını sağlayan önemli bir özelliktir.

Ancak, bildiğiniz gibi, veriler bir dizine eşlendiğinde, değiştirilemez. Bunu yapmak için, ihtiyacınız olan değişikliklerle verileri yeniden indekslemeniz gerekecektir. Bu süreç, özellikle halihazırda dolaşımda olan bir hizmet için çok iyi bir uygulama olmayan aksama süresine yol açabilir.

Bunu aşmak için, indeksler arasında sorunsuz bir şekilde geçiş yapmamızı sağlayan indeks takma adlarını kullanabiliriz.

İndeks Nasıl Oluşturulur?

İlk adım, verileri güncellemek istediğiniz mevcut bir dizine sahip olduğunuzdan emin olmaktır.

Bu eğitim için, adları olarak işlev görecek eski ve yeni bir dizine sahip olacağız.

PUT /eski_index/

"ayarlar":
"number_of_shards": 1
,
"takma adlar":
"beni kullan":
,
"eşlemeler":
"özellikleri":
"isim":
"Metin yaz"
,
"İD":
"tür": "tam sayı"
,
"ödendi":
"type": "boole"



cURL kullanıcıları için eklenen komutu kullanın:

curl -XPUT "http://localhost:9200/old_index/" -H 'Content-Type: application/json' -d'  "ayarlar":     "number_of_shards": 1  ,  "aliases":     "use_me" :   ,   "eşlemeler":     "özellikler":       "ad":        "tür": "metin"      ,      "kimlik":       "tür": "tam sayı"       ,"   ": "boolean"            '

Ardından, kullanacağımız yeni bir dizin oluşturun. Tüm ayarları ve eşlemeleri eski dizinden şu şekilde kopyalayın:

PUT /new_index

"ayarlar":
"number_of_shards": 1
,
"takma adlar":
"beni kullan":
,
"eşlemeler":
"özellikleri":
"isim":
"Metin yaz"
,
"İD":
"tür": "tam sayı"
,
"ödendi":
"tür": "nesne"



İşte cURL komutu:

curl -XPUT "http://localhost:9200/new_index" -H 'Content-Type: application/json' -d'  "ayarlar":     "number_of_shards": 1  ,  "aliases":     "use_me":   ,   "eşlemeler":     "özellikler":       "ad":        "tür": "metin"      ,      "kimlik":        "tür": "tamsayı"      ,      : "nesne" '

Yeni dizinde ayar ve eşlemelere sahip olarak, verileri eski dizinden yenisine kopyalamak için reindex api'yi kullanın:

POST_reindex

"kaynak":
"index": "old_index"
,
"hedef":
"index": "new_index"

İşte cURL komutu:

curl -XPOST "http:/localhost:9200/_reindex" -H 'Content-Type: application/json' -d'  "source":     "index": "old_index"  ,  "hedef":     "index" : "new_index"  '

Şimdi, _alias api'yi şu şekilde kullanarak eski dizinin diğer adını yenisine kopyalayın:

POST /_aliases

"hareketler" : [
"add" : "index" : "new_index", "alias" : "use_me"
]

İşte cURL komutu:

curl -XPOST "http://localhost:9200/_aliases" -H 'Content-Type: application/json' -d'    "actions" : [        "add" : "index" : "new_index", "alias " : "beni kullan" ]'

Tamamlandığında, artık eski dizini kaldırabilirsiniz ve uygulamalar yeni dizini (takma ad nedeniyle) kesinti olmadan kullanır.

Sonuç

Bu öğreticide tartışılan kavramlarda uzmanlaştıktan sonra, verileri eski bir dizinden yeni bir dizine yeniden dizine ekleyebileceksiniz.

OpenTTD vs Simutrans
Creating your own transport simulation can be fun, relaxing and extremely enticing. That's why you need to make sure that you try out as many games as...
OpenTTD Tutorial
OpenTTD is one of the most popular business simulation games out there. In this game, you need to create a wonderful transportation business. However,...
SuperTuxKart for Linux
SuperTuxKart is a great title designed to bring you the Mario Kart experience free of charge on your Linux system. It is pretty challenging and fun to...