Elasticsearch’e Veri Ekleme: Kapsamlı Bir Kılavuz
Elasticsearch, büyük miktarlarda veriyi depolayan ve arama yetenekleri sağlayan güçlü bir arama motorudur. Veri eklemek, Elasticsearch’ü kullanmanın temel bir yönüdür ve bu makale, verileri Elasticsearch’e eklemek için çeşitli yöntemleri kapsamlı bir şekilde açıklayacaktır.
1. REST API Kullanma
REST API, Elasticsearch’e veri eklemek için en yaygın kullanılan yöntemdir. Verileri eklemek için aşağıdaki adımları izleyin:
- Bir İndeks Oluşturun: Verilerinizi depolamak için bir indeks oluşturmanız gerekir. Bir indeks, benzer türdeki belgeleri içeren bir koleksiyondur.
- Bir Belge Oluşturun: Eklemek istediğiniz belgeyi oluşturun. Bir belge, JSON formatında bir veri yapısıdır.
- Belgeyi İndekse Gönderin: Belgeyi indekse göndermek için aşağıdaki POST isteğini kullanın:
POST /{index-name}/_doc/{document-id}
Örnek:
POST /my-index/_doc/1
{
"title": "Elasticsearch Veri Ekleme",
"author": "John Doe",
"content": "Elasticsearch'e veri ekleme hakkında kapsamlı bir kılavuz."
}
2. Python Kullanma
Python, Elasticsearch ile etkileşim kurmak için popüler bir dildir. Verileri Elasticsearch’e eklemek için aşağıdaki adımları izleyin:
- Elasticsearch Kütüphanesini Yükleyin:
pip install elasticsearch
komutunu kullanarak Elasticsearch Python kütüphanesini yükleyin. - Bir İstemci Oluşturun: Elasticsearch istemcisini oluşturun:
“`python
from elasticsearch import Elasticsearch
client = Elasticsearch()
“`
- Bir Belge Oluşturun: Eklemek istediğiniz belgeyi oluşturun:
python
document = {
"title": "Elasticsearch Veri Ekleme",
"author": "John Doe",
"content": "Elasticsearch'e veri ekleme hakkında kapsamlı bir kılavuz."
}
- Belgeyi İndekse Gönderin: Belgeyi indekse göndermek için
index
yöntemini kullanın:
python
client.index(index="my-index", id=1, body=document)
3. Java Kullanma
Java, Elasticsearch ile etkileşim kurmak için bir başka popüler dildir. Verileri Elasticsearch’e eklemek için aşağıdaki adımları izleyin:
- Elasticsearch Kütüphanesini Yükleyin:
maven
kullanarak Elasticsearch Java kütüphanesini yükleyin:
xml
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>elasticsearch-rest-high-level-client</artifactId>
<version>7.17.4</version>
</dependency>
- Bir İstemci Oluşturun: Elasticsearch istemcisini oluşturun:
java
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200))
);
- Bir Belge Oluşturun: Eklemek istediğiniz belgeyi oluşturun:
java
Map<String, Object> document = new HashMap<>();
document.put("title", "Elasticsearch Veri Ekleme");
document.put("author", "John Doe");
document.put("content", "Elasticsearch'e veri ekleme hakkında kapsamlı bir kılavuz.");
- Belgeyi İndekse Gönderin: Belgeyi indekse göndermek için
index
yöntemini kullanın:
java
IndexRequest request = new IndexRequest("my-index").id("1").source(document);
client.index(request, RequestOptions.DEFAULT);
4. Logstash Kullanma
Logstash, verileri Elasticsearch’e aktarmak için kullanılan bir veri işleme aracıdır. Verileri Elasticsearch’e eklemek için aşağıdaki adımları izleyin:
- Logstash Kurun: Logstash’ü indirin ve kurun.
- Bir Konfigürasyon Dosyası Oluşturun: Logstash’ün verileri nasıl işleyeceğini tanımlayan bir konfigürasyon dosyası oluşturun.
- Veri Kaynağını Tanımlayın: Veri kaynağınızı (ör. dosya, veritabanı) tanımlayın.
- Elasticsearch Çıktısını Tanımlayın: Verilerin gönderileceği Elasticsearch çıktısını tanımlayın.
- Logstash’ü Çalıştırın: Logstash’ü çalıştırın ve verilerin Elasticsearch’e aktarılmasını sağlayın.
5. Kibana Kullanma
Kibana, Elasticsearch verilerini görselleştirmek ve yönetmek için kullanılan bir kullanıcı arayüzüdür. Verileri Elasticsearch’e eklemek için aşağıdaki adımları izleyin:
- Kibana’yı Açın: Kibana’yı açın ve “Yönetim” sekmesine gidin.
- İndeks Yönetimi’ni Seçin: “İndeks Yönetimi” sekmesini seçin.
- Yeni Bir İndeks Oluşturun: Yeni bir indeks oluşturmak için “İndeks Oluştur” düğmesini tıklayın.
- Belgeler Ekleme: İndeks oluşturulduktan sonra, “Belgeler” sekmesine gidin ve belgeleri manuel olarak ekleyebilirsiniz.
Faydalı Kaynaklar
- Elasticsearch REST API Referansı
- Elasticsearch Python Kütüphanesi
- Elasticsearch Java Kütüphanesi
- Logstash Belgeleri
- Kibana Belgeleri