Elasticsearch Nedir ve Neden Kullanılır?
Hayal edin, web sitenizde milyonlarca veri var ve kullanıcılar her gün yeni içerikler arıyor. Verilerinizi anlamlı ve hızlı bir şekilde analiz etmek ve aramak zor bir iş olabilir. İşte burada Elasticsearch devreye giriyor.
Elasticsearch, özellikle büyük veri setlerinde hızlı arama yapabilmek için kullanılan açık kaynaklı bir arama motorudur. Büyük veri ile çalışan birçok platformda hız ve verimlilik açısından vazgeçilmez bir araçtır. Verilerinizi sadece saklamakla kalmaz, aynı zamanda kullanıcılarınızın aradıklarını bulmalarını çok daha hızlı hale getirir.
Şimdi, Elasticsearch’ün ne olduğuna dair temel bir anlayışımız olduğu göre, onu nasıl kuracağımıza geçelim!
Adım 1: Elasticsearch İndir
İlk adım, Elasticsearch’ün en son sürümünü indirmenizdir. Hadi bunu yapalım:
1. Elasticsearch'ü [resmi web sitesinden](https://www.elastic.co/downloads/elasticsearch) indiriyoruz.
2. Platformunuza uygun olan sürümü seçin. Elasticsearch, Linux, Windows ve macOS işletim sistemleriyle uyumludur.
3. İndirme işlemi tamamlandıktan sonra, indirdiğiniz dosyayı açın ve Elasticsearch’ün kurulum dosyasını çalıştırın.
Adım 2: Elasticsearch'ü Kurma
Kurulum işlemi oldukça basittir. İndirdiğiniz dosyayı açtığınızda, Elasticsearch’ün kurulum adımlarını takip ederek işlem tamamlanabilir.
Linux için:
```bash
tar -xzf elasticsearch-7.x.x.tar.gz
cd elasticsearch-7.x.x
./bin/elasticsearch
```
Windows için:
1. .zip dosyasını çıkartın.
2. Elasticsearch dizininde `bin/elasticsearch.bat` dosyasını çalıştırın.
Elasticsearch başlatıldığında, terminalde aşağıdaki gibi bir şey görmelisiniz:
```
[INFO ][o.e.n.Node ] [your-node-name] started
```
Adım 3: Elasticsearch'ü Test Etme
Kurulumdan sonra, Elasticsearch’ün düzgün çalışıp çalışmadığını test etmek için tarayıcınızda şu URL’yi açın:
```
http://localhost:9200
```
Eğer her şey doğru kurulduysa, aşağıdaki gibi bir JSON yanıtı görmelisiniz:
```json
{
"name" : "your-node-name",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "abcd1234",
"version" : {
"number" : "7.x.x",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "abcd1234",
"build_date" : "2020-01-01T00:00:00.000Z",
"build_snapshot" : false,
"lucene_version" : "8.x.x",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0"
},
"tagline" : "You Know, for Search"
}
```
Adım 4: Elasticsearch'ü Konfigüre Etme
Elasticsearch, genellikle varsayılan ayarlarla çalıştırılabilir, ancak ihtiyacınıza göre bazı ayarları özelleştirmeniz gerekebilir. Elasticsearch’ün yapılandırma dosyası, elasticsearch.yml dosyasında yer alır. Bu dosyayı `config` klasöründe bulabilirsiniz.
Bazı yaygın konfigürasyon ayarları şunlardır:
- cluster.name: Elasticsearch kümenizin adını belirler. Bu, aynı ağda birden fazla Elasticsearch kümesi varsa, onları ayırt etmenizi sağlar.
- node.name: Her bir Elasticsearch düğümüne bir isim verin. Bu isim, sistemdeki düğümün kimliğini temsil eder.
- network.host: Elasticsearch'ün hangi IP adresinden dinleyeceğini belirler. Genellikle, `localhost` veya özel IP adresi kullanabilirsiniz.
Örneğin, bir yapılandırma şu şekilde olabilir:
```yaml
cluster.name: my-cluster
node.name: node-1
network.host: 192.168.1.10
```
Yapılandırma dosyasını düzenledikten sonra, Elasticsearch’ü yeniden başlatmanız gerekir.
Adım 5: Elasticsearch ile İlk Aramanızı Yapın
Artık Elasticsearch’ü başarıyla kurduğunuza göre, biraz eğlenceli hale getirebiliriz. Örneğin, basit bir arama yapalım.
Öncelikle, bir indeks (index) oluşturmalıyız. Aşağıdaki komut ile "products" adında bir indeks oluşturalım:
```bash
curl -X PUT "localhost:9200/products?pretty"
```
Sonrasında, bu indeksin içine bazı veriler ekleyelim. Diyelim ki birkaç ürünümüz var:
```bash
curl -X POST "localhost:9200/products/_doc/1" -H 'Content-Type: application/json' -d'
{
"name": "Laptop",
"price": 1200
}'
```
Şimdi bu veriyi arayalım:
```bash
curl -X GET "localhost:9200/products/_search?q=name:Laptop&pretty"
```
Bu sorgu, adında "Laptop" kelimesi geçen ürünleri döndürecektir.
Sonuç
Elasticsearch kurulumu ve konfigürasyonu bu kadar kolay! Artık büyük verilerle çalışırken daha hızlı ve verimli aramalar yapabilir, arama motoru uygulamalarınızı güçlü hale getirebilirsiniz. Elasticsearch, büyük veri setlerinde arama yapmanın yanı sıra, analitik ve veri görselleştirme gibi birçok farklı kullanım alanına da sahiptir.
Unutmayın, Elasticsearch'ün gücünü tam anlamıyla kullanabilmek için daha ileri düzey özellikleri keşfetmek de faydalı olacaktır. Şimdi, siz de kendi Elasticsearch kurulumunuzu yapın ve arama dünyasına hızlı bir giriş yapın!