Elasticsearch Ne Nedir?
Kurulum
Servis olarak yükleme
PS D:\elasticsearch-6.4.2\bin> .\elasticsearch-service.bat install
Ingest Eklentisini kurma
PS D:\elasticsearch-6.4.2\bin> .\elasticsearch-plugin.bat install ingest-attachment
Remote Erişime açmak:
Elasticsearch Ayar değişimi
config/elasticsearch.yml içindeki network.host : [sunucu public ip adresi] şeklinde değiştirilerek network erişimine açılır.
Firewall Kural Eklenmesi
Ayrıca işletim sistemi firewall ayarlarına 9200 portu için kural eklenmelidir.
Linux için:
$ sudo firewall-cmd —zone=public —permanent —add-port=9200/tcp
$ sudo firewall-cmd —reload
Not: Canlı ortam için erişim sınırlaması getirilmelidir.
Terimler
Cluster: Aynı Cluster ismini taşıyan bir ya da daha fazla node içeren yapıdır. Her cluster, otomatik olarak cluster tarafından seçilen ve başarısız (fail) olduğunda yerine değiştirilebilen tek bir master node’a sahiptir.
Document: Elasticsearch’te depolanan JSON yapılarıdır. İlişkisel bir veri tabanındaki bir tablonun satırı gibi düşünülebilir. Her document bir indekste depolanır ve bir tip ve id’ye sahiptir.
id: Bir Document’in id’si o dökümanı tanımlayan kimliğidir. Bir dökümanın index/type/id’si unique olmalıdır. Eğer id atanmazsa Elasticsearch kendisi otomatik bir id oluşturur.
field: Bir Document bir alanlar listesi veya anahtar-değer çifti içerir. Değer (value) basit bir skalar değer olabilir (string, int, date vb) ya da bir object veya dizi gibi sıarlı yapı olabilir. Field, bir ilişkisel veritabanındaki bir tablonun kolonu gibi düşünülebilir. Her field için mapping işlemi bu field’da tutulan (int, string, object gibi) bir veri tipini gösteren bir field type’ a sahiptir. (document type ile karıştırılmamalıdır). Mapping işlemi ayrıca bir field için değerin nasıl analiz edilmesini gerektiğini tanımlamamızı sağlar.
index: index, ilişkisel veritabanındaki database olarak düşünülebilir. Çoklu tipleri tanımlayan bir mapping’e sahiptir. index bir ya da daha fazla primary shard haritalayan ve sıfır ya da daha fazla replica shard’a sahip olabilen bir logical namespace’tir.
mapping: Her index, index içindeki her tipi tanımlayan bir mapping’e sahiptir. Mapping ya açıkça tanımlanabilir ya da yeni biir document indekslendiğinde otomatik olarak oluşturulabilir.
node: bir cluster’a ait olan koşan bir elasticsearch’in örneğidir. Çoklu node’lar test amacıyla single server’da başlatılabilirler. Ama genellikle her server’da bir node vardır. Başlangıçta bir node anı cluster isminde varolan bir cluster’ı keşfetmek için ve bu cluster’a katılmak için unicast kullanır (istenildiğinde multicast de kullanılabilir)
primary shard: Her document bir single primary shard’da tutulur. Bir document’i indekslediğinizde ilk olarak primary shard üstündeindekslenir. Daha sonra primary shard’ın tüm diğer replicalarında indekslenir. Indeksini işleyebildiğin dökümanların sayısını ölçmek için daha az veya daha çok primary shard belirleyebilirsiniz. Bir kez index oluşturmuşsanız, index’teki primary shard sayısını değiştiremezsiniz.
source field: Varsayılan olarak indekslediğiniz JSON dökümanı _ source alanında depolanacaktır ve tüm get ve search isteklerinden geri döndürülecektir. Bu iki adımlı olarak id’si ile getirmek yerine size direk olarak search isteğinden direk olarak orijinal veriyi dönderecektir. Geçersiz JSON dahi olsa indekslediğiniz veri geri dönderilecektir. Bu alanın içeriği, nesnedeki verilerin nasıl dizine eklendiğine ilişkin bir şey göstermez.
term: term elasticsearch’te indekslenen kesin değerdir. terim, Terim, TERİM term’leri eşdeğer değildir. Bu kesin değerler term query kullanılarak aranabilir.
text: Metin (veya tam metin), bu paragraf gibi sıradan yapılandırılmamış metindir. Varsayılan olarak, metin dizinde analiz edilir, yani dizinde ne saklanır aslında. Metin alanlarının tam metin olarak aranabilmesi için dizin zamanında analiz edilmesi gerekir ve tam metinli sorgulardaki anahtar kelimeler, dizin zamanında üretilen aynı terimleri üretmek (ve aramak için) arama zamanında analiz edilmelidir. Ayrıca terim ve analiz bölümüne de bakınız.
type: Bir tür, ilişkisel bir veritabanında bir tablo gibidir. Her tür, bu türdeki belgeler için belirtilebilecek alanların bir listesine sahiptir. Haritalama, belgedeki her alanın nasıl analiz edildiğini tanımlar
Anahtar Kelimeler: Kurulum ve başlangıç notları