Elasticsearch Rehberi: Temel Kavramlar, Bileşenler ve Sorgu Yapısı







Elasticsearch Nedir?

Elasticsearch, Apache Lucene kütüphanesi üzerine inşa edilmiş, açık kaynak kodlu, dağıtık bir arama ve analiz altyapısıdır. 2010 yılında piyasaya sürülmesinden bu yana en popüler arama altyapılarından biri haline gelmiştir.


Elasticsearch'ün temel özellikleri şunlardır:


Hızlı ve Tam Metin Arama: Büyük metin kümelerinde anlık ve tam metin aramaları gerçekleştirmenize olanak tanır.

Dağıtık Mimari: Tek bir sunucuya bağlı kalmadan, birden fazla sunucu üzerinde çalışarak büyük veri kümelerini işleyebilir.

Ölçeklenebilirlik: İhtiyaçlarınıza göre kolayca ölçeklenebilen bir altyapı sunar.

Analiz ve Görselleştirme: Verilerinizi analiz etmenize ve görselleştirmenize yardımcı olacak çeşitli araçlar sunar.

Kullanımı Kolay: Kullanıcı dostu bir arayüze sahiptir.

Elasticsearch'ün kullanım alanları:


Günlük Analizi: Uygulama ve sistem günlüklerinizi analiz ederek hataları ve performans darboğazlarını belirlemenize yardımcı olur.

Tam Metin Arama: Web siteleri, e-ticaret platformları ve diğer metin tabanlı uygulamalarda tam metin araması yapmanızı sağlar.

Güvenlik Zekası: Güvenlik olaylarını ve tehditleri izlemenize ve analiz etmenize yardımcı olur.

İş Analitiği: İş verilerinizi analiz ederek trendleri ve modelleri belirlemenize yardımcı olur.

Operasyonel Zeka: BT altyapınızın performansını ve durumunu izlemenize yardımcı olur.

Elasticsearch'ün bazı avantajları:


Hızlı ve verimli arama

Dağıtık ve ölçeklenebilir mimari

Güçlü analiz ve görselleştirme araçları

Kullanımı kolay arayüz

Açık kaynak kodlu

Elasticsearch'ün bazı dezavantajları:


Karmaşık kurulum ve konfigürasyon

Yüksek bellek ve CPU kullanımı

Güvenlik açıklarına karşı dikkatli olunması

Elasticsearch hakkında daha fazla bilgi edinmek için:


Elasticsearch resmi web sitesi: https://www.elastic.co/

Elasticsearch Türkçe dokümantasyonu: https://devveri.com/nosql/elasticsearch-ile-metin-isleme

Elasticsearch blog: https://www.elastic.co/blog

Elasticsearch YouTube kanalı: https://www.youtube.com/watch?v=gS_nHTWZEJ8

Elasticsearch, büyük veri arama ve analizi için güçlü bir araçtır. Doğru şekilde kullanıldığında, işletmenize ve organizasyonunuza birçok fayda sağlayabilir.


Kibana Nedir?

Kibana, Elasticsearch için kullanılan bir açık kaynak kodlu veri görselleştirme ve yönetim aracıdır. Gerçek zamanlı histogramlar, çizgi grafikler, pasta grafikler ve haritalar sağlar ve verilerinizi görselleştirmenize ve Elastic Stack'te gezinmenize olanak tanır.


Kibana'nın temel özellikleri şunlardır:


Veri Görselleştirme: Elasticsearch'te saklanan verileri çeşitli grafikler, haritalar ve tablolar aracılığıyla görselleştirmenize olanak tanır.

Gösterge Panoları: Farklı veri kaynaklarından gelen verileri tek bir gösterge panosunda bir araya getirmenize ve izlemenize olanak tanır.

Arama ve Filtreleme: Elasticsearch'te saklanan verileri aramanıza ve filtrelemenize olanak tanır.

Yönetim: Elasticsearch kümelerinizi yönetmenize ve izlemenize olanak tanır.

Kullanımı Kolay: Kullanıcı dostu bir arayüze sahiptir.

Kibana'nın kullanım alanları:


Log Analizi: Uygulama ve sistem günlüklerinizi analiz ederek hataları ve performans darboğazlarını belirlemenize yardımcı olur.

Ağ Trafiği Analizi: Ağ trafiğinizi analiz ederek anormallikleri ve güvenlik açıklarını belirlemenize yardımcı olur.

İş Analitiği: İş verilerinizi analiz ederek trendleri ve modelleri belirlemenize yardımcı olur.

Operasyonel Zeka: BT altyapınızın performansını ve durumunu izlemenize yardımcı olur.

Güvenlik Zekası: Güvenlik olaylarını ve tehditleri izlemenize ve analiz etmenize yardımcı olur.

Kibana'nın bazı avantajları:


Güçlü veri görselleştirme araçları

Kullanımı kolay arayüz

Elasticsearch ile entegre

Açık kaynak kodlu

Kibana'nın bazı dezavantajları:


Karmaşık kurulum ve konfigürasyon

Yalnızca Elasticsearch ile çalışır

Kibana hakkında daha fazla bilgi edinmek için:


Kibana resmi web sitesi: https://www.elastic.co/kibana

Kibana Türkçe dokümantasyonu: [geçersiz URL kaldırıldı]

Kibana blog: [geçersiz URL kaldırıldı]

Kibana YouTube kanalı: https://www.youtube.com/watch?v=gS_nHTWZEJ8

Kibana, Elasticsearch ile birlikte kullanıldığında, büyük veri arama ve analizini görselleştirmek ve yönetmek için güçlü bir araç haline gelir.


Kaynaklar

bulutistan.com/blog/elk-stack-nedir/


Elasticsearch Tokenizer nedir?


Elasticsearch'te tokenizer'lar, analiz süreci için çok önemli bir rol oynarlar. Temel görevleri şu şekildedir:


Tokenizer'ın Görevi:


Metni Tokenlere Ayırma: Tokenzier'lar, verdiğiniz bir metini (örneğin bir paragraf veya cümle) daha küçük birimlere, yani kelimelere veya terimlere ayırır. Bu birimlere "token" denir.

Tokenleri Normalleştirme (İsteğe bağlı): Bazı tokenizer'lar, tokenleri normalleştirerek onları daha tutarlı ve aranabilir hale getirir. Bu, büyük/küçük harf değişikliklerini kaldırmayı, aksanları kaldırmayı veya kelimelerin köklerini bulmayı içerebilir.

Örnek:


"The quick brown fox jumps over the lazy dog" cümlesini ele alalım.


Basit bir Whitespace Tokenizer: Bu ifadeyi ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"] şeklinde ayıracaktır.

Standard Tokenizer: Daha akıllıdır. Noktalama işaretlerinden kurtulur ve kelimeleri daha anlamlı bir şekilde böler. Çıktısı: ["quick", "brown", "fox", "jumps", "over", "lazy", "dog"].

Elasticsearch Tokenizer Türleri:


Elasticsearch bir dizi yerleşik tokenizer sunar. En sık kullanılanlardan bazıları:


Standard Tokenizer: UTR #29 kurallarını kullanarak metni genel kelime sınırlarına göre ayıran, çoğu dil için uygun olan bir tokenizer'dır.

Letter Tokenizer: Yalnızca harfleri baz alarak metni böler, diğer karakterleri yok sayar.

Lowercase Tokenizer: Tokenleri küçük harflere çevirir.

Whitespace Tokenizer: Boşluklara göre metni ayıran en basit tokenizer'dır.

N-Gram Tokenizer: Bir kelimeyi parçalayıp, belirlenen "N" boyutunda karakter kombinasyonları üretir. Örneğin "quick" kelimesini 3-gram ile ["qui", "uic", "ick"] olarak parçalaması.

Keyword Tokenizer: Metindeki her terimi/kelimeyi bir token olarak ele alır. Normalleştirme yapmaz, olduğu gibi bırakır.

Pattern Tokenizer: Düzenli ifadeler (Regex) kullanarak metni parçalamaya yarar.

Custom Tokenizer: Gerekirse kendi özel tokenizer'larınızı da oluşturabilirsiniz.


Doğru Tokenizer'ı Seçmek


Hangi tokenizerın seçileceği, analiz ettiğiniz verilerin türüne ve dillerine göre değişecektir. Örneğin, Twitter verilerini analiz ediyorsanız, hashtag'leri ve sözcükleri koruyan özel bir tokenizer'a ihtiyacınız olabilir. Standart tokenizer ise farklı dillerde makul derecede iyi sonuç verir.


Elasticsearch dokümanında daha detaylı bilgi ve örneklere ulaşabilirsiniz:


Tokenizer dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html

Let me know if you'd like examples of how to use specific tokenizers!


Kaynaklar

stackoverflow.com/questions/48764011/java-search-for-substring-in-elasticsearch


Elasticsearch Filter nedir?

Elasticsearch'te filtreler, arama sonuçlarınızı belirli kriterlere göre daraltmanın güçlü bir yoludur. Genellikle bir sorguyla ("query") birlikte kullanılırlar. İşte filtrelerin nasıl çalıştığıyla ilgili önemli noktalar:


Filtrenin Özellikleri


Hız: Filtreler genellikle sorgulardan daha hızlıdır çünkü skorlama yapmazlar. Esasen, sadece bir belgenin belirli kriterleri karşılayıp karşılamadığını kontrol ederler (evet/hayır).

Önbellek (Caching): Filtreler sık sık tekrar kullanıldıkları için Elasticsearch bunların sonuçlarını önbellekte tutar. Bu, aynı filtreyi içeren sonraki aramaların performansını önemli ölçüde artırır.

Skor Etkisi Yok: Filtreler dokümanların relevans skorunu (_score) değiştirmez. Sadece eşleşenleri tutar ve uymayanları atar.

Query vs. Filter


Özellik Query Filter

Kullanım Amacı Dokümanların alaka düzeylerini (relevan) belirtmek ve buna göre sıralamak Doküman setini, kriterlere göre daraltmak

Hız Daha yavaş (genellikle) Daha hızlı

Önbellek (Caching) Önbellekte tutulmaz Önbellekte tutulur

Skor Etkisi Alaka düzeyi skorunu (_score) etkiler Skor üzerinde etkisi yoktur

Filter Context (Filtre Bağlamı)


Filtreler, sorgu bağlamı (query context) ve filtre bağlamı (filter context) olmak üzere iki ana bağlamda kullanılabilir:


Query Context: Bir sorgunun parçası olduğunda, önce arama yapılır ve eşleşen sonuçlar bulunur. Daha sonra, bu sonuçların içinde filtre uygulaması yapılır. Bunun amacı hem alaka düzeyine göre arama yapmak hem de sonucu kısıtlamaktır.

Filter Context: İçinde bir query bulunmadığında, belirtilen kriterlere göre doğrudan bir arama ve filtreleme işlemi yapılır. Burada amaç alaka değil salt kriterlere uymaktır.

Yaygın Filter Türleri


Term Filter: Tam bir terim ile eşleşmeyi kontrol eder (örneğin kategori: "yazılım" )

Range Filter: Sayısal veya tarih aralığındaki değerlere göre filtreler (örneğin fiyat: 100 ile 200 arası)

Bool Filter: Birden çok filtreyi "must", "should", "must_not" gibi mantıksal operatörlerle bir araya getirir.

Geo Filters: Geometrik şekiller ve coğrafi bölgelerle eşleşen dokümanları filtrelemeye yarar.

Örnek:


JSON

GET products/_search

{

  "query": {

    "match": { "description": "search term" } 

  },

  "filter": { 

    "range": {

      "price": {

        "gte": 10,

        "lte": 50

      }

    }

  } 

}

Kodu dikkatli kullanın.

Bu örnekte, "search term" için description alanını arayacağız, ancak filtre sadece fiyatı 10 ile 50 arasında olan ürünleri verecektir.


Elasticsearch dokümanında daha detaylı bilgi ve örneklere ulaşabilirsiniz:


Filtre dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-filters.html

İhtiyacınıza uygun filtre kullanımı ile arama sonuçlarınızı hassas bir şekilde kontrol edebilirsiniz!


Elasticsearch Query nedir?


Elasticsearch'teki sorgular (queries), aradığınız verilere dair kriterleri tanımlayan yapılardır. Belgeleri (documents) bulmak ve alaka düzeylerini (relevance) belirlemek için kullanılırlar.


Query Özellikleri


Alaka Düzeyi (Relevance): Sorgular, arama terimlerinize göre her belgenin bir alaka düzeyi skorunu (_score) hesaplar. Bu skor, arama sonucunun sıralamasını belirler.

Yapılandırılmış: Elasticsearch sorguları JSON formatında yapılandırılmıştır ve DSL (Domain Specific Language - Alana Özgü Dil) kullanarak oluşturulur.

Çok yönlülük: Basit tam metin sorgularından karmaşık, çok alanlı sorgulara kadar uzanan geniş bir yelpazede sorgu oluşturabilirsiniz.

Query Context'te Çalışma: Filter context'in aksine, sorgular sadece query context'te çalışır. Yani doğrudan sorgu sonucu döndürmezler, sorgunun içine bir filtre yerleştirebilirsiniz.

İki Ana Query Tipi


Leaf Queries: Düşük seviyeli sorgulardır ve bir alan ile belirli bir terimin veya değerin eşleşip eşleşmediğini sorgularlar. Örnekler:


Term Query: Tam bir terim ile eşleşmeyi kontrol eder.

Match Query: Metin analizini kullanarak tam metin araması yapar.

Range Query: Sayısal veya tarih aralığındaki değerlere göre sorgu yapar.

Compound Queries: "must", "should", "must_not" gibi mantıksal operatörlerle birden çok sorguyu bir araya getirir. Örnekler:


Bool Query: Birden çok alt sorguyu birleştirir.

Constant Score Query: Bir filtreyi sarmalayarak, eşleşen tüm belgeler için eşit bir skor atar.

Örnek


JSON

GET products/_search

{

  "query": {

    "bool": {

      "must": [ 

        { "match": { "description": "search term" }},

        { "range":  { "price": { "gte": 10, "lte": 50 }}}

      ]

    }

  }

}

Kodu dikkatli kullanın.

Bu örnek, description alanında  "search term" araması yapan ve fiyatı 10 ile 50 arasında olan ürünleri döndürecektir.


Elasticsearch dokümanında daha detaylı bilgi ve örneklere ulaşabilirsiniz:


Sorguların dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

İhtiyacınıza Uygun Query Kullanımı


Doğru sorguları kullanarak Elasticsearch'te alakalı arama sonuçları elde edebilirsiniz. Biraz pratik ile, karmaşık aramaları bile kolayca oluşturabilirsiniz. Herhangi bir konuda daha fazla örnek veya açıklamaya ihtiyacınız varsa, bana sormaktan çekinmeyin!


Kaynaklar

githubhelp.com/danpaz/bodybuilder


Elasticsearch Analyzer Nedir?

Elasticsearch'te analyzer, metin arama ve analizini gerçekleştirmek için kullanılan bir işlem hattıdır. Bir analyzer, metni tokenlere ayırır, normalleştirir ve analiz eder. Bu işlem, Elasticsearch'ün metni anlamasına ve arama sorgularıyla eşleştirmesine olanak tanır.


Analyzer'ın Görevleri:


Metni Tokenlere Ayırma: Analyzer, metni kelimeler, noktalama işaretleri ve diğer karakterler gibi daha küçük birimlere ayırır. Bu birimlere "token" denir.

Tokenleri Normalleştirme: Analyzer, tokenleri büyük/küçük harf değişikliklerini, aksanları ve diğer varyasyonları kaldırarak standart hale getirir.

Tokenleri Analiz Etme: Analyzer, tokenlerin türlerini (isim, sıfat, fiil vb.) ve dilbilgisi özelliklerini belirler.

Analyzer Türleri:


Elasticsearch, önceden tanımlanmış bir dizi analyzer içerir. En yaygın kullanılanlardan bazıları şunlardır:


Standard Analyzer: En genel amaçlı analyzer'dır. Metni kelime sınırlarına göre ayırır ve temel normalleştirme işlemlerini uygular.

Whitespace Analyzer: Boşluklara göre metni ayırır.

Keyword Analyzer: Metni tokenlere ayırmadan tek bir token olarak ele alır.

N-Gram Analyzer: Bir kelimeyi parçalayıp, belirlenen "N" boyutunda karakter kombinasyonları üretir.

Custom Analyzer: Kendi özel analyzer'larınızı da oluşturabilirsiniz.

Analyzer Seçimi:


Hangi analyzer'ın seçileceği, analiz ettiğiniz verilerin türüne ve dillerine göre değişecektir. Örneğin, Twitter verilerini analiz ediyorsanız, hashtag'leri ve sözcükleri koruyan özel bir analyzer'a ihtiyacınız olabilir. Standart analyzer ise farklı dillerde makul derecede iyi sonuç verir.


Analyzer Örnekleri:


Standard Analyzer:

JSON

{

  "analyzer": "standard"

}

Kodu dikkatli kullanın.

N-Gram Analyzer:

JSON

{

  "analyzer": {

    "type": "nGram",

    "min_gram": 3,

    "max_gram": 5

  }

}

Kodu dikkatli kullanın.

Elasticsearch dokümanında daha detaylı bilgi ve örneklere ulaşabilirsiniz:


Analyzer dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html

Analyzer'lar, Elasticsearch'te metin arama ve analizinin temelini oluşturur. Doğru analyzer'ı seçmek, verilerinizden en iyi şekilde yararlanmanızı sağlayacaktır.


Kaynaklar

community.atlassian.com/t5/Bitbucket-questions/Bitbucket-Search-not-returning-results-as-expected/qaq-p/1879519


Tokenizer ve Analyzer Arasında Fark Var mı?

Hayır, tokenizer ve analyzer aynı şey değildir. Tokenizer, bir metni tokenlere ayırma işlemini gerçekleştirirken, analyzer, tokenleri normalleştirme ve analiz etme işlemlerini de içeren daha kapsamlı bir işlem hattıdır.


Tokenizer:


Metni tokenlere ayırır.

Tokenleri normalleştirmez.

Tokenlerin türlerini veya dilbilgisi özelliklerini belirlemez.

Analyzer:


Tokenizer'ı kullanarak metni tokenlere ayırır.

Tokenleri normalleştirir.

Tokenlerin türlerini ve dilbilgisi özelliklerini belirler.

Özetle:


Tokenizer, analyzer'ın bir parçasıdır.

Analyzer, tokenizer'dan daha fazlasını yapar.

Aşağıdaki diyagram, tokenizer ve analyzer arasındaki ilişkiyi gösterir:


Görsel: [geçersiz URL kaldırıldı]


Hangi Durumda Hangisini Kullanmalısınız?


Sadece metni tokenlere ayırmak istiyorsanız: Tokenizer kullanın.

Metni normalleştirmek ve analiz etmek istiyorsanız: Analyzer kullanın.

Örnek:


Metni büyük/küçük harf ayrımı gözetmeksizin aramak istiyorsanız, bir analyzer kullanabilirsiniz. Analyzer, metni tokenlere ayıracak ve ardından tüm tokenleri küçük harfe dönüştürecektir.


Daha Fazla Bilgi:


Elasticsearch Analyzer dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-analyzers.html

Elasticsearch Tokenizer dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-tokenizers.html

Umarım bu bilgiler yardımcı olmuştur!


Kaynaklar

community.atlassian.com/t5/Bitbucket-questions/Bitbucket-Search-not-returning-results-as-expected/qaq-p/1879519

stackoverflow.com/questions/48764011/java-search-for-substring-in-elasticsearch


Elasticsearch'te Indexleme için Field Type'ları ve Query Tipleri

Elasticsearch'te verilerinizi indexlerken her field için field type ve query type belirlemeniz gerekir. Bu seçim, verilerinizin nasıl saklanacağını ve sorgulanacağını belirler.


Field Type'lar:


Temel Tipler:

text: Metin alanları için.

keyword: Tam metin araması için uygun olmayan metin alanları için (örneğin, ürün SKU'ları).

integer: Tam sayılar için.

long: Büyük tam sayılar için.

float: Ondalık sayılar için.

date: Tarih ve saat değerleri için.

boolean: True veya false değerleri için.

Karmaşık Tipler:

nested: Birden fazla alt field içeren nesneler için.

geo_point: Coğrafi konumlar için.

ip: IP adresleri için.

Query Type'lar:


Temel Query Tipleri:

match: Tam metin araması için.

term: Tam eşleşme için.

range: Sayısal aralıklar için.

prefix: Önek arama için.

fuzzy: Yaklaşık eşleşme için.

Karmaşık Query Tipleri:

bool: Birden fazla sorguyu birleştirmek için.

query_string: Doğal dil sorguları için.

match_phrase: Tam kelime öbeği araması için.

geo_distance: Coğrafi konum sorguları için.

Doğru Field Type ve Query Tipi Seçimi:


Verilerin türüne ve nasıl sorgulanacağına göre seçim yapmalısınız.

Doğru seçimler, performansı ve arama sonuçlarının doğruluğunu artırır.

Örnek:


Ürün adlarını indexlemek için text field type'ı ve match query type'ı kullanabilirsiniz.

Ürün fiyatlarını indexlemek için integer field type'ı ve range query type'ı kullanabilirsiniz.

Daha Fazla Bilgi:


Elasticsearch Field Type dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-types.html

Elasticsearch Query Type dokümantasyonu: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl.html

Ayrıca, Elasticsearch'te field type ve query type seçimini kolaylaştıran Kibana gibi araçlar da kullanılabilir.


Elasticsearch index nedir?


Elasticsearch'te bir index, birbiriyle ilişkili belgelerin barındırıldığı mantıksal bir yapıdır. Bunu, verilerinizi düzenlemenize ve aramayı kolaylaştırmanıza yardımcı olan bir veritabanı olarak düşünebilirsiniz.


İndekslerin Temel Özellikleri


İçerik: Bir index, belirli bir belge türünü temsil eden bir JSON belge koleksiyonu içerir. Örneğin "ürünler" index'i veya "müşteriler" index'i oluşturabilirsiniz.


Yapılandırma: Bir index oluştururken field'ları veri türlerine (text, keyword, date, vs) göre tanımlama yaparsınız. Bu yapılandırma mapping olarak adlandırılır.


Lucene Tabanlı: Her index, ters çevrilmiş bir indeks (inverted index) olan alt seviye Lucene index'lerinden oluşur. Bu tersine çevrilmiş yapı, Elasticsearch'e çok hızlı arama yapma gücü verir.


Shard (Parça): Büyük index'ler performans ve ölçeklenebilirlik amacıyla shard adı verilen parçalara bölünebilir.


Replica: Güvenilirlik için bir index'in replika kopyalarını oluşturabilirsiniz.


Benzetme




Bir indeks, birçok kitabı içeren bir kitaplığı düşünebilirsiniz:




Kitaplık: İndeks


Kitaplar: Belgeler


Kitap Rafları: Shard'lar


Kitapların Konuları: Field'lar


Kitaplık Kataloğu: Mapping


İndeks Oluşturma

Bir index oluşturabilmek için, Elasticsearch'in REST API'sını veya Kibana gibi bir aracı kullanabilirsiniz. Index oluştururken şunları belirtmeniz gerekir:

Index adı: Küçük harflerle benzersiz bir ad.


Mapping: Her field'ın veri tipini belirtir.


Ayarlar: Index'in shard sayısı, replica sayısı gibi ayarları içerir.


Örnek (Basit Ürün İndeksi)




JSON


PUT /products


{


  "mappings": {


    "properties": {


      "name": { "type": "text" },  


      "description": { "type": "text" },


      "price": { "type": "integer" },


      "category": { "type": "keyword" } 


    }


  }


}


Kodu dikkatli kullanın.


Sonuç




İndeksler, Elasticsearch'in verileri saklama, organize etme ve arama şeklinin temelidir. Uygun indeks yapılarını tasarlamak, Elasticsearch'in gücünü en iyi şekilde kullanmanızda kilit rol oynar.




Daha Fazla Bilgi




Elasticsearch'in dokümanlarında index yapısı hakkında daha derinlemesine bilgiye ulaşabilirsiniz: https://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

Elasticsearch'te Indexleme Nasıl Yapılır?

Elasticsearch'te indexleme, verilerinizi Elasticsearch'e ekleme ve saklama işlemidir. Bu işlemi gerçekleştirmek için birkaç farklı yöntem kullanabilirsiniz:


1. API ile Indexleme:


Elasticsearch'ün REST API'sini kullanarak doğrudan indexleme yapabilirsiniz.

Bu yöntem, gelişmiş kontrol ve esneklik sunar.

Ancak, daha fazla teknik bilgi ve beceri gerektirir.

2. Kibana ile Indexleme:


Kibana'nın "Index Management" (Index Yönetimi) arayüzünü kullanarak indexleme yapabilirsiniz.

Bu yöntem, daha basit ve kullanıcı dostudur.

Ancak, API kadar esnek değildir.

3. Logstash ile Indexleme:


Logstash gibi bir veri işleme aracı kullanarak indexleme yapabilirsiniz.

Bu yöntem, farklı veri kaynaklarından veri toplamayı ve Elasticsearch'e indexlemeyi kolaylaştırır.

4. Filebeat ile Indexleme:


Filebeat gibi bir veri nakil aracı kullanarak indexleme yapabilirsiniz.

Bu yöntem, log dosyaları gibi dosyalardan veriyi otomatik olarak Elasticsearch'e indexlemeyi kolaylaştırır.

Indexleme İşlemi:


Index Oluşturma:

Indexleme işlemine başlamadan önce, Elasticsearch'te bir index oluşturmanız gerekir.

Bir index, bir belge türü koleksiyonudur.

Index oluştururken, field type'ları ve diğer index ayarlarını belirlemeniz gerekir.

Belgeleri Ekleme:

Index oluşturulduktan sonra, belgeleri ekleyebilirsiniz.

Belgeler, JSON formatında olmalıdır.

API, Kibana, Logstash veya Filebeat gibi bir araç kullanarak belgeleri ekleyebilirsiniz.

Index Yeniden Oluşturma:

Gerekirse, index'i yeniden oluşturabilirsiniz.

Bu işlem, index'teki tüm verileri siler ve yeniden oluşturur.

Indexleme İpuçları:


Doğru field type'ları seçmek önemlidir.

Verilerinizi optimize etmek için mapping ayarlarını kullanabilirsiniz.

Indexleme işlemini test etmek için küçük bir veri kümesiyle başlayın.

Gerekirse, Elasticsearch dokümantasyonuna ve topluluğa danışabilirsiniz.

Daha Fazla Bilgi:


Elasticsearch Indexleme dokümantasyonu: [geçersiz URL kaldırıldı]

Kibana Index Management dokümantasyonu: [geçersiz URL kaldırıldı]

Logstash dokümantasyonu: https://www.elastic.co/guide/en/logstash/current/index.html

Filebeat dokümantasyonu: https://www.elastic.co/guide/en/beats/filebeat/current/index.html

Umarım bu bilgiler yardımcı olmuştur!


Kaynaklar

github.com/wufeiqun/blog

Please Select Embedded Mode To Show The Comment System.*

Daha yeni Daha eski

نموذج الاتصال