Elasticsearch - IngestNode
index.blocks.read_only | 1 doğru / yanlış | Dizin ve dizin meta verilerini salt okunur hale getirmek için true, yazma ve meta veri değişikliklerine izin vermek için false olarak ayarlayın. |
Bazen bir belgeyi dizine eklemeden önce dönüştürmemiz gerekir. Örneğin, belgeden bir alanı kaldırmak veya bir alanı yeniden adlandırmak ve ardından onu indekslemek istiyoruz. Bu, Ingest düğümü tarafından ele alınır.
Kümedeki her düğümün alma yeteneği vardır, ancak yalnızca belirli düğümler tarafından işlenecek şekilde özelleştirilebilir.
İlgili Adımlar
Besleme düğümünün çalışmasında iki adım vardır -
- Bir ardışık düzen oluşturma
- Bir doküman oluşturmak
Ardışık Düzen Oluşturun
Önce işlemcileri içeren bir ardışık düzen oluşturmak ve ardından aşağıda gösterildiği gibi ardışık düzeni yürütmek -
PUT _ingest/pipeline/int-converter
{
"description": "converts the content of the seq field to an integer",
"processors" : [
{
"convert" : {
"field" : "seq",
"type": "integer"
}
}
]
}
Yukarıdaki kodu çalıştırdığımızda şu sonucu alıyoruz -
{
"acknowledged" : true
}
Bir Doküman Oluşturun
Ardından, boru hattı dönüştürücüsünü kullanarak bir belge oluşturuyoruz.
PUT /logs/_doc/1?pipeline=int-converter
{
"seq":"21",
"name":"Tutorialspoint",
"Addrs":"Hyderabad"
}
Yukarıdaki kodu çalıştırırken, yanıtı aşağıda gösterildiği gibi alıyoruz -
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"result" : "created",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 0,
"_primary_term" : 1
}
Ardından, aşağıda gösterildiği gibi GET komutunu kullanarak yukarıda oluşturulan dokümanı ararız -
GET /logs/_doc/1
Yukarıdaki kodu çalıştırdığımızda şu sonucu alıyoruz -
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "1",
"_version" : 1,
"_seq_no" : 0,
"_primary_term" : 1,
"found" : true,
"_source" : {
"Addrs" : "Hyderabad",
"name" : "Tutorialspoint",
"seq" : 21
}
}
Yukarıda 21'in bir tam sayı olduğunu görebilirsiniz.
Boru Hattı Olmadan
Şimdi boru hattını kullanmadan bir belge oluşturuyoruz.
PUT /logs/_doc/2
{
"seq":"11",
"name":"Tutorix",
"Addrs":"Secunderabad"
}
GET /logs/_doc/2
Yukarıdaki kodu çalıştırdığımızda şu sonucu alıyoruz -
{
"_index" : "logs",
"_type" : "_doc",
"_id" : "2",
"_version" : 1,
"_seq_no" : 1,
"_primary_term" : 1,
"found" : true,
"_source" : {
"seq" : "11",
"name" : "Tutorix",
"Addrs" : "Secunderabad"
}
}
Yukarıda 11'in ardışık düzen kullanılmadan bir dizi olduğunu görebilirsiniz.