﻿
{"id":26361,"date":"2023-06-09T05:08:08","date_gmt":"2023-06-09T05:08:08","guid":{"rendered":"https:\/\/www.gencayyildiz.com\/blog\/?p=26361"},"modified":"2023-06-09T05:08:08","modified_gmt":"2023-06-09T05:08:08","slug":"elasticsearch-nedir-temel-kavramlari-nelerdir","status":"publish","type":"post","link":"https:\/\/www.gencayyildiz.com\/blog\/elasticsearch-nedir-temel-kavramlari-nelerdir\/","title":{"rendered":"Elasticsearch Nedir? Temel Kavramlar\u0131 Nelerdir?"},"content":{"rendered":"<div id=\"fb-root\"><\/div>\n<p>Merhaba,<\/p>\n<p>Bu i\u00e7eri\u011fimizde a\u00e7\u0131k kaynak(open source) ve da\u011f\u0131t\u0131lm\u0131\u015f(distributed) arama(search) ve analiz(analysis) moturu olan Elasticsearch \u00fczerine teorik bir incelemede bulunacak, ne oldu\u011fu, nerelerde ne ama\u00e7la kullan\u0131ld\u0131\u011f\u0131 gibi sorular\u0131n cevaplar\u0131n\u0131 arayacak ve bir yandan da temel kavramlar\u0131n\u0131 masaya yat\u0131rmaya \u00e7al\u0131\u015f\u0131yor olaca\u011f\u0131z. O halde buyurun ba\u015flayal\u0131m&#8230;<\/p>\n<h3 style=\"color:#e83e8c;\">Elasticsearch Nedir? Ne Ama\u00e7la Kullan\u0131lmaktad\u0131r?<\/h3>\n<blockquote><p><em>Elasticsearch, b\u00fcy\u00fck \u00f6l\u00e7ekli veritabanlar\u0131nda h\u0131zl\u0131 arama, analiz ve veri depolama i\u015flemleri i\u00e7in kullan\u0131lan da\u011f\u0131t\u0131lm\u0131\u015f bir arama ve analiz motorudur.<\/em><\/p><\/blockquote>\n<p>Elasticsearch, giri\u015f paragraf\u0131nda da bahsedildi\u011fi gibi b\u00fcy\u00fck \u00f6l\u00e7ekli veritabanlar\u0131nda h\u0131zl\u0131 arama, analiz, veri depolama  ve geri alma i\u015flemleri i\u00e7in kullan\u0131lan, <em>Apache Lucene<\/em> k\u00fct\u00fcphanesine dayand\u0131r\u0131lm\u0131\u015f, olduk\u00e7a g\u00fc\u00e7l\u00fc bir tam metin arama(full-text search) motorudur.<\/p>\n<p>Elasticsearch, NoSQL tabanl\u0131 davran\u0131\u015f sergilemekte ve verileri JSON format\u0131nda depolamaktad\u0131r. Bu veriler \u00fczerinde yaz\u0131m\u0131z boyunca detayland\u0131raca\u011f\u0131m\u0131z yap\u0131land\u0131r\u0131lm\u0131\u015f ve yap\u0131land\u0131r\u0131lmam\u0131\u015f sorgulama, ger\u00e7ek zamanl\u0131 analiz, filtreleme vs. gibi kazan\u0131mlar\u0131 uygulamaktad\u0131r.<\/p>\n<p>Elasticsearch, b\u00fcy\u00fck miktardaki verileri <em>shards<\/em> ad\u0131 verilen par\u00e7alara ay\u0131rmakta ve bu par\u00e7alar\u0131 birden fazla sunuculara da\u011f\u0131tarak y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik sa\u011flamakta ve b\u00f6ylece b\u00fcy\u00fck verilere h\u0131zl\u0131 eri\u015fim ve y\u00fcksek kullan\u0131labilirlik sa\u011flamaktad\u0131r.<\/p>\n<p>Elasticsearch&#8217;\u00fcn geni\u015f bir kullan\u0131m alan\u0131 mevcuttur. Sadece bir arama motorundan ziyade ayn\u0131 zamanda log analizi, metin madencili\u011fi, veri g\u00f6rselle\u015ftirme, i\u015f zekas\u0131 ve ger\u00e7ek zamanl\u0131 uygulama izleme gibi alanlarda da kullan\u0131labilir. Ayr\u0131ca i\u00e7erik s\u00fcrecinde inceleyece\u011fimiz Kibana, Logstash ve Beats gibi di\u011fer ara\u00e7lar e\u015fli\u011finde bir ELK(Elasticsearch, Logstash, Kibana) y\u0131\u011f\u0131n\u0131 olu\u015fturarak g\u00fc\u00e7l\u00fc bir log analizi ve g\u00f6rselle\u015ftirme platformu elde edilebilir.<\/p>\n<h5>Apache Lucene Nedir?<\/h5>\n<p><em>Apache Lucene<\/em>, a\u00e7\u0131k kaynak bir text search ve indeksleme k\u00fct\u00fcphanesidir. Verileri depolamak, indekslemek ve metin tabanl\u0131 aramalar\u0131 ger\u00e7ekle\u015ftirmek i\u00e7in kullan\u0131l\u0131r. \u0130lk olarak 1999 y\u0131l\u0131nda <em>Doug Cutting<\/em> taraf\u0131ndan geli\u015ftirilen Apache Lucene, g\u00fcn\u00fcm\u00fczde <em>Apache Software Foundation<\/em> b\u00fcnyesinde geli\u015ftirilmekte ve yayg\u0131n bir \u015fekilde kullan\u0131lmaya devam etmektedir.<\/p>\n<p>Apache Lucene, metin tabanl\u0131 arama s\u00fcre\u00e7lerinde bir indeks olu\u015fturarak belgelerin i\u00e7eri\u011fini par\u00e7alara ay\u0131rmakta ve bu par\u00e7alar\u0131 anahtar kelimelerine(term) d\u00f6n\u00fc\u015ft\u00fcrerek indekslemektedir. Bu indeksler metin tabanl\u0131 sorgulama s\u00fcre\u00e7lerinde etkili bir \u015fekilde arama yap\u0131lmas\u0131n\u0131 ve h\u0131zl\u0131 bir \u015fekilde de sonu\u00e7lara ula\u015f\u0131lmas\u0131n\u0131 m\u00fcmk\u00fcn k\u0131lmaktad\u0131r.<\/p>\n<p>Apache Lucene, metin i\u015fleme \u00e7e\u015fitlili\u011fi a\u00e7\u0131s\u0131ndan olduk\u00e7a zengindir. Metin analizi, kelime k\u00f6klerini bulma(stemming), e\u015f anlaml\u0131 kelimelerin tan\u0131nmas\u0131(synonym recognition), b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131(case sensitivity), dil analizi(language analysis) vs. gibi \u00f6zelliklerle metin i\u015fleme s\u00fcre\u00e7lerinde i\u015flevsellik g\u00f6sterebilmekte ve b\u00f6ylece arama s\u00fcre\u00e7lerinde daha do\u011fru ve kapsaml\u0131 sonu\u00e7lar elde edilmesini sa\u011flayabilmektedir.<\/p>\n<p>Apache Lucene, Java programlama dili ile geli\u015ftirilmi\u015f olmas\u0131na ra\u011fmen di\u011fer programlama dilleriyle de entegre edilebilmekte ve \u00f6zelle\u015ftirilmi\u015f arama motorlar\u0131, veri g\u00f6rselle\u015ftirme ara\u00e7lar\u0131, metin madencili\u011fi vs. gibi bu ve bunlara benzer bir\u00e7ok metin tabanl\u0131 uygulamalar\u0131 geli\u015ftirebilmemize olanak sa\u011flamaktad\u0131r.<\/p>\n<blockquote><p><em style=\"color:purple;\">Apache Lucene, Elasticsearch arama moturunun temelini olu\u015fturmakta ve g\u00fc\u00e7l\u00fc bir arama ve indeksleme altyap\u0131s\u0131 sunmaktad\u0131r. B\u00f6ylece Elasticsearch, Apache Lucene sayesinde daha kapsaml\u0131 bir da\u011f\u0131t\u0131lm\u0131\u015f arama ve analiz platformu haline gelmi\u015f bulunmaktad\u0131r.<\/em><\/p><\/blockquote>\n<h5>Elasticsearch&#8217;\u00fcn Yetenekleri Nelerdir?<\/h5>\n<p>Elasticsearch, b\u00fcnyesinde bir\u00e7ok yetenek ve \u00f6zellik bar\u0131nd\u0131ran kapsaml\u0131 bir da\u011f\u0131t\u0131lm\u0131\u015f arama ve analiz platformudur. Elasticsearch&#8217;\u00fcn belli ba\u015fl\u0131 ana yetenekleri \u015funlard\u0131r;<\/p>\n<ul>\n<li><strong><em>Full-Text Search (Tam Metin Arama)<\/em><\/strong><br \/>\nElasticsearch, g\u00fc\u00e7l\u00fc tam metin arama yetenekleri ile metin tabanl\u0131 belgelerde h\u0131zl\u0131 ve etkili arama yapma imkan\u0131 sa\u011flamaktad\u0131r.\n<\/li>\n<li><strong><em>Distributed and Scalable Search (Da\u011f\u0131t\u0131lm\u0131\u015f ve \u00d6l\u00e7eklenebilir Arama)<\/em><\/strong><br \/>\nElasticsearch, verileri par\u00e7alar(shards) halinde b\u00f6lerek ve bunlar\u0131 <em>multiple nodes<\/em> ad\u0131 verilen yap\u0131lar \u00fczerinde da\u011f\u0131tarak y\u00fcksek performans ve \u00f6l\u00e7eklenebilirlik elde etmemizi sa\u011flamaktad\u0131r.\n<\/li>\n<li><strong><em>Real-Time Data Analysis (Ger\u00e7ek Zamanl\u0131 Veri Analizi)<\/em><\/strong><br \/>\nElasticsearch&#8217;\u00fcn ger\u00e7ek zamanl\u0131 analiz yapabilme yetene\u011fiyle verilerinizi anl\u0131k olarak analiz edebilir ve sonu\u00e7lar elde edebilirsiniz.\n<\/li>\n<li><strong><em>Aggregations (Toplanan Veri)<\/em><\/strong><br \/>\nElasticsearch, bir aramadan elde edilen sonu\u00e7lar\u0131 grupland\u0131rma, \u00f6zetleme ve analiz etme yetene\u011fine sahiptir.\n<\/li>\n<li><strong><em>Distributed Document Storage (Da\u011f\u0131t\u0131lm\u0131\u015f Belge Depolama)<\/em><\/strong><br \/>\nElasticsearch, JSON format\u0131ndaki belgeleri da\u011f\u0131t\u0131lm\u0131\u015f bir \u015fekilde depolayarak verilerin g\u00fcvenli\u011fi sa\u011flamakta ve h\u0131zl\u0131 eri\u015fim imkan\u0131 sunmaktad\u0131r.\n<\/li>\n<li><strong><em>Schema-Free (\u015eema \u00d6zg\u00fcrl\u00fc\u011f\u00fc)<\/em><\/strong><br \/>\nElasticsearch, \u015fema gereksinimleri olmadan verileri depolayabilir ve esnek bir \u015fekilde \u00e7al\u0131\u015fabilir.\n<\/li>\n<li><strong><em>Data Replication (Veri Kopyalama)<\/em><\/strong><br \/>\nElasticsearch, veri yedekleme mekanizmas\u0131 ile replica(kopya) olu\u015fturarak y\u00fcksek kullan\u0131labilirlik ve veri kurtarma sa\u011flamaktad\u0131r.\n<\/li>\n<li><strong><em>Built-in RESTful API<\/em><\/strong><br \/>\nElasticsearch ile RESTful API&#8217;leri kullanarak kolay bir \u015fekilde verilerinizi sorgulayabilir, ekleme, silme ve g\u00fcncelleme yapabilirsiniz.\n<\/li>\n<li><strong><em>Scalable Analytics (\u00d6l\u00e7eklenebilir Analitik)<\/em><\/strong><br \/>\nElasticsearch, b\u00fcy\u00fck veri k\u00fctlelerini h\u0131zl\u0131 ve \u00f6l\u00e7eklenebilir bir \u015fekilde analiz edebilme yetene\u011fine sahiptir.\n<\/li>\n<li><strong><em>Geospatial Search (Co\u011frafi Arama)<\/em><\/strong><br \/>\nElasticsearch ile co\u011frafi verileri depolayabilir ve co\u011frafi konum tabanl\u0131 aramalar yapabilirsiniz.\n<\/li>\n<\/ul>\n<p>Bu yetenekler sayesinde Elasticsearch, verilerinizi h\u0131zl\u0131 bir \u015fekilde indeksleyebilir, arayabilir, analiz edebilir ve ger\u00e7ek zamanl\u0131 sonu\u00e7lar elde etmenizi sa\u011flayabilir.<\/p>\n<h5>Elasticsearch Arama Motorunun(Search Engine) Operatif Yetenekleri Nelerdir?<\/h5>\n<p>\u015eimdi de Elasticsearch arama motorundaki operatif yeteneklerini masaya yat\u0131ral\u0131m. Elasticsearch arama motoru temel olarak a\u015fa\u011f\u0131daki operatif yetenekleri bar\u0131nd\u0131rmaktad\u0131r;<\/p>\n<ul>\n<li><strong><em>Full-Text Search (Tam Metin Arama)<\/em><\/strong><br \/>\nMetin tabanl\u0131 belgelerdeki anahtar kelimeleri kullanarak h\u0131zl\u0131 ve etkili bir \u015fekilde arama yapabilme yetene\u011fidir. Bu \u00f6zellik, bir metin i\u00e7inde ge\u00e7en kelimeleri indeksleyerek verilere eri\u015fimi kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Elasticsearch&#8217;in Full-Text Search \u00f6zelli\u011fi a\u015fa\u011f\u0131daki konular\u0131 kapsar;<\/p>\n<ul>\n<li><em>Veri \u0130ndeksleme<\/em><br \/>\nElasticsearch, belgeleri indeksleyerek metin verilerini analiz eder ve i\u00e7eri\u011fin par\u00e7alara ayr\u0131lmas\u0131n\u0131 sa\u011flar. Bu s\u00fcre\u00e7te, metin ve dil analizi gibi i\u015flemler uygulan\u0131r. \u0130ndeksleme i\u015flemi neticesinde metindeki kelimeler terimlere(terms) d\u00f6n\u00fc\u015ft\u00fcr\u00fcl\u00fcr ve bu terimlerin istatistiksel bilgileri tutulur.\n<\/li>\n<li><em>Terim E\u015fle\u015ftirmesi<\/em><br \/>\nElasticsearch, arama sorgular\u0131n\u0131 belgedeki terimlerle e\u015fle\u015ftirir. Bir arama sorgusu girildi\u011finde, Elasticsearch terimlerin indekslerdeki konumunu bulur ve e\u015fle\u015fen belgeleri geri d\u00f6nd\u00fcr\u00fcr. Bu e\u015fle\u015ftirme, tam metin arama sorgular\u0131n\u0131 desteklerken ayn\u0131 zamanda do\u011fru sonu\u00e7lar\u0131 getirmek i\u00e7in indeksleme s\u00fcrecinde yap\u0131lan analiz i\u015flemlerini dikkate al\u0131r.\n<\/li>\n<li><em>Relevant S\u0131ralamas\u0131 (Relevancy)<\/em><br \/>\nElasticsearch, full-text aramalar\u0131ndaki sonu\u00e7lar\u0131 relevant(ilgili) s\u0131ras\u0131na g\u00f6re d\u00fczenlemektedir. Arama sorgusuna g\u00f6re sonucun e\u015fle\u015fme derecesini belirler ve sonu\u00e7lar\u0131 da bu dereceye uygun s\u0131rayla d\u00f6nd\u00fcr\u00fcr.\n<\/li>\n<li><em>Metin Analizi<\/em><br \/>\nElasticsearch, metin analizi \u00f6zellikleri sayesinde belgelerin i\u00e7eriklerini daha iyi anlayabilmektedir. Metin analizi; kelime k\u00f6klerini bulma(stemming), e\u015f anlaml\u0131 kelimelerin tan\u0131nmas\u0131(synonym recognition), b\u00fcy\u00fck\/k\u00fc\u00e7\u00fck harf duyarl\u0131l\u0131\u011f\u0131(case sensitivity), dil analizi(language analysis) vs. gibi i\u015flemleri i\u00e7ermektedir. Bu \u00f6zellikler sayesinde kullan\u0131c\u0131lar\u0131n arama sorgular\u0131yla daha do\u011fru ve kapsaml\u0131 sonu\u00e7lara ula\u015fmalar\u0131n\u0131 sa\u011flar.\n<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Querying (Arama Sorgular\u0131)<\/em><\/strong><br \/>\nKullan\u0131c\u0131lar\u0131n istedikleri bilgilere ula\u015fabilmeleri i\u00e7in arama moturuna verilen talimatlard\u0131r. Elasticsearch, \u00e7e\u015fitli sorgu tipleri ve \u00f6zellikler sunmaktad\u0131r. Bunlardan baz\u0131lar\u0131 \u015funlard\u0131r;<\/p>\n<ul>\n<li><em>Match Query<\/em><br \/>\nBelirli bir alan\u0131n, belirli bir de\u011feriyle e\u015fle\u015fen belgeleri d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin; &#8216;title&#8217; alan\u0131nda &#8216;elma&#8217; kelimesini i\u00e7eren belgeleri getirmek istedi\u011fimizde Match Query&#8217;den istifade etmekteyiz.\n<\/li>\n<li><em>Term Query<\/em><br \/>\nBelirli bir alanda, belirli bir terimle tam olarak e\u015fle\u015fen belgeleri d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131l\u0131r.\n<\/li>\n<li><em>Range Query<\/em><br \/>\nBelirli bir alan\u0131n, belirli bir de\u011fer aral\u0131\u011f\u0131nda bulunan belgeleri d\u00f6nd\u00fcrmek i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin; &#8216;price&#8217; alan\u0131 10 ile 100 aras\u0131nda olan belgeleri getirmek istedi\u011fimizde Range Query&#8217;den istifade etmekteyiz.\n<\/li>\n<li><em>Bool Query<\/em><br \/>\nBirden fazla sorguyu birle\u015ftirerek karma\u015f\u0131k mant\u0131ksal sorgular olu\u015fturmak i\u00e7in kullan\u0131l\u0131r. Bool sorgusu, &#8216;must'(kesinlikle e\u015fle\u015fmeli), &#8216;should'(iste\u011fe ba\u011fl\u0131 e\u015fle\u015fmeli) ve &#8216;must_not'(kesinlikle e\u015fle\u015fmemeli) b\u00f6l\u00fcmlerini i\u00e7erebilir.\n<\/li>\n<li><em>Match Phrase Query<\/em><br \/>\nTam c\u00fcmle aramas\u0131 yapmak i\u00e7in kullan\u0131l\u0131r. Aranan ifadenin tamam\u0131n\u0131 i\u00e7eren belgeleri getirir. \u00d6rnek olarak; &#8216;sebepsiz bo\u015f yere ayr\u0131lacaksan&#8217; c\u00fcmlesini i\u00e7eren belgeleri getirmek istedi\u011fimizde Match Phrase Query&#8217;den istifade edebiliriz.\n<\/li>\n<li><em>Wildcard Query<\/em><br \/>\nJoker karakterleri kullanarak belirli bir desene uyan belgeleri getirmek i\u00e7in kullan\u0131l\u0131r.\n<\/li>\n<li><em>Aggregations<\/em><br \/>\nArama sonu\u00e7lar\u0131n\u0131 grupland\u0131rmak ve istatistiksel verileri elde etmek i\u00e7in kullan\u0131l\u0131r. \u00d6rne\u011fin; belgeleri kategoriye g\u00f6re gruplama ve her kategorinin ortalama fiyat\u0131n\u0131 bulmak istiyorsak e\u011fer Aggregations&#8217;dan istifade edebiliriz.\n<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Filtering (Filtreleme)<\/em><\/strong><br \/>\nArama sonu\u00e7lar\u0131 \u00fczerinde istenmeyen sonu\u00e7lar\u0131 elemek amac\u0131yla belirli kriterlere g\u00f6re filtreleme i\u015flemi i\u00e7in kullan\u0131lan \u00f6zelliktir. Elasticsearch, a\u015fa\u011f\u0131daki gibi baz\u0131 \u00e7e\u015fitli filtreleme se\u00e7enekleri sunmaktad\u0131r;<\/p>\n<ul>\n<li><em>Term Filter<\/em><\/li>\n<li><em>Range Filter<\/em><\/li>\n<li><em>Bool Filter<\/em><\/li>\n<li><em>Exists Filter<\/em><\/li>\n<li><em>Geo Distance Filter<\/em><\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Ranking (S\u0131ralama)<\/em><\/strong><br \/>\nArama sonu\u00e7lar\u0131n\u0131 belirli bir kriter veya algoritma kullanarak, arama deneyimini iyile\u015ftirmek amac\u0131yla \u00f6nem s\u0131ras\u0131na g\u00f6re d\u00fczenlemek i\u00e7in kullan\u0131lan bir yetenektir. Elasticsearch, a\u015fa\u011f\u0131daki gibi \u00e7e\u015fitli s\u0131ralama y\u00f6ntemleri ve stratejileri sunmaktad\u0131r;<\/p>\n<ul>\n<li><em>Relevance Ranking<\/em><br \/>\nElasticsearch, varsay\u0131lan olarak <em>TF-IDF(Term Frequency-Inverse Document Frequency)<\/em> tabanl\u0131 bir relevance s\u0131ralamas\u0131 kullanmaktad\u0131r. Bu s\u0131ralama y\u00f6ntemi, bir belgedeki terimin ge\u00e7me s\u0131kl\u0131\u011f\u0131na ve genel koleksiyondaki nadirli\u011fine dayan\u0131r. Bu sayede, arama sorgusunun i\u00e7erdi\u011fi terimlerin belgedeki \u00f6nemini belirler.\n<\/li>\n<li><em>Field-Based Ranking<\/em><br \/>\nBelirli bir alan\u0131n de\u011ferine veya skoruna g\u00f6re s\u0131ralama yapma imkan\u0131 sunan y\u00f6ntemdir. Misal olarak; fiyat alan\u0131na g\u00f6re artan yahut azalan \u015fekilde s\u0131ralama bu y\u00f6ntemle ger\u00e7ekle\u015ftirilebilir.\n<\/li>\n<li><em>Geo Ranking<\/em><br \/>\nCo\u011frafi konum bilgilerini kullanarak, belirli bir konuma g\u00f6re s\u0131ralama yapmay\u0131 sa\u011flar. \u00d6rne\u011fin; kullan\u0131c\u0131n\u0131n mevcut konumuna en yak\u0131n noktalardan ba\u015flayarak s\u0131ralama yapabilir.\n<\/li>\n<li><em>Time-Based Ranking<\/em><br \/>\nBelirli bir zaman aral\u0131\u011f\u0131 veya tarihe g\u00f6re s\u0131ralama ger\u00e7ekle\u015ftirilebilir. Misal olarak; en son g\u00fcncellenen veya en yeni belgeler \u00fcst s\u0131ralara ta\u015f\u0131nabilir.\n<\/li>\n<li><em>Custom Ranking<\/em><br \/>\nElasticsearch, kullan\u0131c\u0131n\u0131n kendi s\u0131ralama mant\u0131\u011f\u0131n\u0131 uygulayabilmesi i\u00e7in \u00f6zel s\u0131ralama stratejileri olu\u015fturmas\u0131na olanak tan\u0131r. Bu, belirli kriterlere dayal\u0131 olarak \u00f6zel bir puanlama veya s\u0131ralama algoritmas\u0131 kullan\u0131lmas\u0131n\u0131 sa\u011flar.\n<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Autocomplete (Otomatik Tamamlama)<\/em><\/strong><br \/>\nKullan\u0131c\u0131lara arama yaparken istedikleri terimi veya ifadeyi h\u0131zl\u0131 bir \u015fekilde tamamlama ve \u00f6neriler sunma yetene\u011fidir. Bu \u00f6zellik sayesinde, kullan\u0131c\u0131lar\u0131n do\u011fru terimleri hat\u0131rlamalar\u0131na veya tamamlamalar\u0131na yard\u0131mc\u0131 olarak arama s\u00fcreci h\u0131zland\u0131r\u0131lmakta ve kullan\u0131c\u0131 deneyimi iyile\u015ftirilmektedir. Elasticsearch, otomatik tamamlama \u00f6zelli\u011fini ger\u00e7ekle\u015ftirmek i\u00e7in a\u015fa\u011f\u0131daki gibi \u00e7e\u015fitli y\u00f6ntemler sunmaktad\u0131r;<\/p>\n<ul>\n<li><em>Completion Suggester<\/em><br \/>\nElasticsearch, completion suggester ad\u0131 verilen \u00f6zel bir veri yap\u0131s\u0131 ve sorgu tipi kullanarak otomatik tamamlama i\u015flevselli\u011fi sa\u011flamaktad\u0131r. Bu y\u00f6ntemde, tamamlanacak terimlerin bir &#8216;tamamlama alan\u0131&#8217; i\u00e7inde saklanmas\u0131 gerekir. Kullan\u0131c\u0131 her karakter girdi\u011finde, Elasticsearch bu alan\u0131 tarar ve kullan\u0131c\u0131ya olas\u0131 tamamlama \u00f6nerileri sunar.\n<\/li>\n<li><em>Fuzzy Matching<\/em><br \/>\nElasticsearch, otomatik tamamlama s\u0131ras\u0131nda karater tabanl\u0131 benzerlik e\u015fle\u015ftirmesi yapabilen fuzzy matching(bulan\u0131k e\u015fle\u015ftirme) \u00f6zelli\u011fini de desteklemektedir. Bu sayede, kullan\u0131c\u0131n\u0131n yanl\u0131\u015f yaz\u0131lan veya hatal\u0131 karakterler i\u00e7eren terimlere ra\u011fmen do\u011fru tamamlama \u00f6nerileri almas\u0131 sa\u011flan\u0131r.\n<\/li>\n<li><em>Contextual Suggestions<\/em><br \/>\nElasticsearch, kullan\u0131c\u0131n\u0131n arama ba\u011flam\u0131na ba\u011fl\u0131 olarak \u00f6neriler sunabilme yetene\u011fine sahiptir. \u00d6rne\u011fin; kullan\u0131c\u0131 bir kategori se\u00e7tikten sonra sadece o kategoriye ait tamamlama \u00f6nerilerini g\u00f6stermek gibi&#8230;\n<\/li>\n<li><em>\u00d6neri S\u0131ralama<\/em><br \/>\nElasticsearch, tamamlama \u00f6nerilerini belirli bir s\u0131ralama kriterine g\u00f6re d\u00fczenleme imkan\u0131 sunmaktad\u0131r. \u00d6rne\u011fin; pop\u00fclerlik, alfabetik s\u0131ralama veya \u00f6zel bir s\u0131ralama mant\u0131\u011f\u0131na g\u00f6re s\u0131ralama yap\u0131larak otomatik tamamlama ger\u00e7ekle\u015ftirilebilir.\n<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Spell Correction (Do\u011fru Yaz\u0131m D\u00fczeltme)<\/em><\/strong><br \/>\nElasticsearch&#8217;te spell correction, kullan\u0131c\u0131lar\u0131n hatal\u0131 veya yanl\u0131\u015f yaz\u0131lm\u0131\u015f kelimeleri otomatik olarak d\u00fczeltmelerine olanak tan\u0131yan bir \u00f6zelliktir. B\u00f6ylece bu \u00f6zellik, kullan\u0131c\u0131lar\u0131n do\u011fru yaz\u0131m\u0131 hat\u0131rlamalar\u0131na veya hatal\u0131 yaz\u0131lan kelimeleri d\u00fczeltmelerine yard\u0131mc\u0131 olur. Bu \u00f6zellik i\u00e7in Elasticsearch&#8217;de kullan\u0131lan baz\u0131 y\u00f6ntemler a\u015fa\u011f\u0131daki gibidir;<\/p>\n<ul>\n<li><em>Fuzzy Matching (Bulan\u0131k E\u015fle\u015ftirme)<\/em><br \/>\nAutocomplete \u00f6zelli\u011finde oldu\u011fu gibi spell correction \u00f6zelli\u011finde de hatal\u0131 yaz\u0131lm\u0131\u015f kelimeleri d\u00fczeltmek i\u00e7in fuzzy matching algoritmas\u0131 kullan\u0131labilmektedir. Bu algoritma ile kelimenin benzerlik derecesine g\u00f6re d\u00fczeltilmi\u015f bir versiyonu \u00f6nerilebilir. \u00d6rne\u011fin; &#8216;housse&#8217; yerine &#8216;house&#8217; kelimesini \u00f6nerebilece\u011fi gibi&#8230;\n<\/li>\n<li><em>Distance-Based Approaches (Mesafe Tabanl\u0131 Yakla\u015f\u0131mlar)<\/em><br \/>\nElasticsearch, hatal\u0131 yaz\u0131lm\u0131\u015f kelimenin do\u011fru yaz\u0131m\u0131n\u0131 bulmak i\u00e7in distance-based metrikleri kullanabilir. <em>Levenshtein Mesafesi<\/em> veya <em>Damerau-Levenshtein Mesafesi<\/em> gibi y\u00f6ntemler kullan\u0131larak hatal\u0131 yaz\u0131lan kelimenin do\u011fru yaz\u0131ma en yak\u0131n olan\u0131n\u0131 se\u00e7er.\n<\/li>\n<li><em>Dictionary-Based Approaches (S\u00f6zl\u00fck Tabanl\u0131 Yakla\u015f\u0131mlar)<\/em><br \/>\nElasticsearch, bir kelime s\u00f6zl\u00fc\u011f\u00fc veya s\u00f6zc\u00fck listesi kullanarak do\u011fru yaz\u0131mlar\u0131 kontrol eder. Hatal\u0131 yaz\u0131lm\u0131\u015f kelimenin s\u00f6zl\u00fckteki bir kelimeyle e\u015fle\u015fti\u011fi durumlarda d\u00fczeltme yapar. Bu y\u00f6ntem, \u00f6nceden belirlenmi\u015f bir kelime listesini kullan\u0131r ve do\u011fru yaz\u0131mlar\u0131 belirli bir kaynaktan al\u0131r.\n<\/li>\n<li><em>Customization (\u00d6zelle\u015ftirme)<\/em><br \/>\nElasticsearch, kullan\u0131c\u0131lar\u0131n kendi do\u011fru yaz\u0131m d\u00fczeltme kurallar\u0131n\u0131 veya s\u00f6zl\u00fcklerini tan\u0131mlamalar\u0131na izin verir. Bu \u015fekilde, kullan\u0131c\u0131lar hedef kitlelerine veya belirli kullan\u0131m senaryolar\u0131na uygun d\u00fczeltmeler yapabilir.\n<\/li>\n<\/ul>\n<\/li>\n<li><strong><em>Indexing (\u0130ndeksleme)<\/em><\/strong><br \/>\nElasticsearch&#8217;de indexing \u00f6zelli\u011fini, verileri Elasticsearch&#8217;e kaydetme ve bu verilerin etkili bir \u015fekilde aranabilir ve eri\u015filebilir hale gelmesi i\u00e7in indekslenmesi olarak d\u00fc\u015f\u00fcnebilirsiniz.\n<\/li>\n<li><strong><em>Faceted Search<\/em><\/strong><br \/>\nKullan\u0131c\u0131lara arama sonu\u00e7lar\u0131n\u0131 daha iyi anlamalar\u0131 ve istedikleri sonu\u00e7lara daha h\u0131zl\u0131 ula\u015fabilmeleri i\u00e7in arama sonu\u00e7lar\u0131n\u0131 filtrelemek ve kategorize edebilmelerine olanak sa\u011flayan yap\u0131land\u0131r\u0131lm\u0131\u015f bir aray\u00fcz sa\u011flar.\n<\/li>\n<\/ul>\n<h3 style=\"color:#e83e8c;\">Elasticsearch Stack Nedir?<\/h3>\n<p><em>Elasticsearch Stack<\/em>, Elasticsearch&#8217;\u00fc temel alarak olu\u015fturulan ve Elasticsearch&#8217;\u00fcn yeteneklerini geni\u015fletmek i\u00e7in onun \u00e7evresinde konu\u015fland\u0131r\u0131lm\u0131\u015f farkl\u0131 bile\u015fenlerden bir b\u00fct\u00fcn\u00fc ifade eden temel kavramd\u0131r. Bu b\u00fct\u00fcn\u00fcn i\u00e7erisinde; verilerin toplanmas\u0131, i\u015flenmesi, depolanmas\u0131, g\u00f6rselle\u015ftirilmesi ve y\u00f6netimi gibi farkl\u0131 alanlarda i\u015flevselli\u011fi art\u0131rmak i\u00e7in t\u00fcrl\u00fc bile\u015fenler mevcuttur.<\/p>\n<p>Elasticsearch Stack&#8217;in temel bile\u015fenleri; Elasticsearch&#8217;\u00fcn ta kendisi olmakla beraber, Kibana, Logstash, Beats ve Elasticsearch Machine Learnin olmak \u00fczere be\u015f adettir diyebiliriz. \u015eimdi bu bile\u015fenleri tek tek izah etmemiz gerekirse e\u011fer;<\/p>\n<table style=\"font-size:12px;\">\n<thead>\n<tr>\n<th width=\"20%\">Elasticsearch<\/th>\n<th width=\"20%\">Kibana<\/th>\n<th width=\"20%\">Logstash<\/th>\n<th width=\"20%\">Beats<\/th>\n<th width=\"20%\">Elasticsearch Machine Learning<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"vertical-align: top;\">Elasticsearch, Stack&#8217;in merkezi bile\u015fenidir ve da\u011f\u0131t\u0131k bir arama ve analiz motoru olarak g\u00f6rev yapmaktad\u0131r.<\/td>\n<td style=\"vertical-align: top;\">Kibana, Elasticsearch ile etkile\u015fimli g\u00f6rselle\u015ftirmeler ve veri analizi sa\u011flayan bir kullan\u0131c\u0131 aray\u00fcz\u00fcd\u00fcr. Verileri g\u00f6rselle\u015ftirme, raporlama, anl\u0131k durum panolar\u0131 olu\u015fturma, etkile\u015fimli analiz yapma vs. gibi yetenekleri mevcuttur.<\/td>\n<td style=\"vertical-align: top;\">Logstash, farkl\u0131 kaynaklardan gelen verileri al\u0131p, d\u00f6n\u00fc\u015ft\u00fcr\u00fcp, Elasticsearch&#8217;e g\u00f6ndermekten sorumludur. Genellikle ad\u0131 \u00fczerinde log dosyalar\u0131ndaki verileri toplamakta kullan\u0131l\u0131r.<\/td>\n<td style=\"vertical-align: top;\">Hafif veri i\u015fleme ajanlar\u0131d\u0131r ve \u00e7e\u015fitli veri kaynaklar\u0131ndan beslenerek; sistem loglar\u0131, metrikler, a\u011f verileri vs. gibi verileri toplamakta ve Logstash&#8217;e veya direkt Elasticsearch&#8217;e aktar\u0131rlar ve b\u00f6ylece veri toplama ve g\u00f6nderme s\u00fcrecini basitle\u015ftirirler.<\/td>\n<td style=\"vertical-align: top;\">Elasticsearch \u00fczerinde makine \u00f6\u011frenimi modelleri olu\u015fturmay\u0131 ve anormallikleri tespit etmeyi sa\u011flayan bir bile\u015fendir.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 style=\"color:#e83e8c;\">Elasticsearch Mimarisini \u0130nceleyelim<\/h3>\n<p><div id=\"attachment_26371\" style=\"width: 1623px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-26371\" src=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir.png\" alt=\"Elasticsearch Nedir Temel Kavramlar\u0131 Nelerdir\" width=\"1613\" height=\"1313\" class=\"size-full wp-image-26371\" srcset=\"https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir.png 1613w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir-300x244.png 300w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir-1024x834.png 1024w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir-768x625.png 768w, https:\/\/www.gencayyildiz.com\/blog\/wp-content\/uploads\/2023\/06\/Elasticsearch-Nedir-Temel-Kavramlari-Nelerdir-1536x1250.png 1536w\" sizes=\"auto, (max-width: 1613px) 100vw, 1613px\" \/><\/a><p id=\"caption-attachment-26371\" class=\"wp-caption-text\">Kaynak : <a href=\"https:\/\/devopsideas.com\/different-elasticsearch-components-and-what-they-mean-in-5-mins\/\" rel=\"noopener\" target=\"_blank\">https:\/\/devopsideas.com\/different-elasticsearch-components-and-what-they-mean-in-5-mins\/<\/a><\/p><\/div>Elasticsearch, da\u011f\u0131t\u0131k bir arama ve analiz motoru oldu\u011fu i\u00e7in veri depolama, veri da\u011f\u0131t\u0131m\u0131 ve y\u00fcksek kullan\u0131labilirlik gibi temel \u00f6zelliklere y\u00f6nelik bir mimariye sahiptir ve a\u015fa\u011f\u0131daki gibi atomik i\u015f y\u00fcr\u00fcten bile\u015fenlerden meydana gelmektedir. \u015eimdi gelin mimarideki bu bile\u015fenleri tek tek inceleyelim;<\/p>\n<ul>\n<li><strong><em>Cluster<\/em><\/strong><br \/>\nElasticsearch mimarisinin en \u00fcst d\u00fczey birimidir. Bir cluster, birden \u00e7ok Elasticsearch node&#8217;undan meydana gelmektedir. Her bir node, verileri depolama ve sorgulama yetene\u011fine sahiptir.<\/p>\n<p>Cluster; y\u00fcksek kullan\u0131labilirlik, veri da\u011f\u0131t\u0131m\u0131 ve y\u00fck dengelemesi sa\u011flamak i\u00e7in node&#8217;lar aras\u0131nda i\u015fbirli\u011fi yapar. Ayr\u0131ca her cluster, benzersiz bir ad ve bir veya daha fazla index i\u00e7erebilir.\n<\/li>\n<li><strong><em>Node<\/em><\/strong><br \/>\nElasticsearch cluster&#8217;\u0131n her bir par\u00e7as\u0131na verilen isimdir. Bir cluster, birden \u00e7ok node&#8217;dan meydana gelebilir. Her node; document&#8217;leri index&#8217;ler, sorgular\u0131 ger\u00e7ekle\u015ftirir ve di\u011fer node&#8217;lar ile ileti\u015fim kurar.<\/p>\n<p>Node&#8217;lar, verilerin par\u00e7alara b\u00f6l\u00fcnmesini ve da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar. Her node, bir veya daha fazla shard&#8217;a sahip olabilir ve shard&#8217;lar da node&#8217;lar aras\u0131 payla\u015ft\u0131r\u0131l\u0131r.\n<\/li>\n<li><strong><em>Shard<\/em><\/strong><br \/>\nElasticsearch&#8217;de depolanan veriler, shard ad\u0131 verilen par\u00e7alara b\u00f6l\u00fcn\u00fcr. Shard&#8217;lar, verilerin daha h\u0131zl\u0131 index&#8217;lenmesini, sorgulanmas\u0131n\u0131 ve da\u011f\u0131t\u0131lmas\u0131n\u0131 sa\u011flar. Her shard, tamamen ba\u011f\u0131ms\u0131z bir Lucene index&#8217;i olarak depolanan document alt k\u00fcmesini i\u00e7erir. Bir index, bir veya daha fazla shard&#8217;a b\u00f6l\u00fcnebilir. Shard&#8217;lar, cluster&#8217;da ki farkl\u0131 node&#8217;lara da\u011f\u0131t\u0131l\u0131r ve veri da\u011f\u0131l\u0131m\u0131n\u0131 paralel olarak i\u015fleyerek performans\u0131 art\u0131r\u0131r.\n<\/li>\n<li><strong><em>Replica<\/em><\/strong><br \/>\nElasticsearch, veri g\u00fcvenilirli\u011fini ve y\u00fcksek kullan\u0131labilirli\u011fi sa\u011flamak i\u00e7in her bir shard&#8217;\u0131n bir veya daha fazla kopyas\u0131n\u0131\/replica tutabilmektedir. Replica&#8217;lar, shard&#8217;lar\u0131n otomatik olarak da\u011f\u0131t\u0131lmas\u0131yla olu\u015fturulur. Bir shard&#8217;\u0131n, bir veya daha fazla kopyas\u0131 olmas\u0131, sistemdeki olas\u0131 veri kayb\u0131 durumunda yedekleme ve kurtarma sa\u011flar.\n<\/li>\n<li><strong><em>Index<\/em><\/strong><br \/>\nElasticsearch&#8217;de verilerin mant\u0131ksal bir birimi olan index, document&#8217;lerin topland\u0131\u011f\u0131 ve organizasyonland\u0131\u011f\u0131 fiziksel birimdir. Her index, bir veya daha fazla shard&#8217;dan veya shard kopyas\u0131ndan olu\u015fur. Burada, document&#8217;lerin tipini, alanlar\u0131n\u0131 ve index&#8217;leme konfig\u00fcrasyonlar\u0131n\u0131 tan\u0131mlamak i\u00e7in bir mapping(e\u015fleme) yap\u0131s\u0131 kullan\u0131l\u0131r.<\/p>\n<p>Her index&#8217;in benzersiz bir ad\u0131 vard\u0131r.\n<\/li>\n<li><strong><em>Document<\/em><\/strong><br \/>\nElasticsearch&#8217;de veriler document&#8217;lere dayan\u0131r.\n<\/li>\n<li><strong><em>Query<\/em><\/strong><br \/>\nElasticsearch, kullan\u0131c\u0131lar\u0131n verileri sorgulamas\u0131 ve aramas\u0131 i\u00e7in \u00e7e\u015fitli sorgu tiplerini desteklemektedir. Kullan\u0131c\u0131lar; tam metin aramalar\u0131, filtrelemeler, e\u015fle\u015fen terimler, aral\u0131k sorgular\u0131, mant\u0131ksal operat\u00f6rler ve daha fazlas\u0131n\u0131 i\u00e7eren karma\u015f\u0131k sorgular olu\u015fturabilirler. Sorgular, belirli bir index&#8217;teki document&#8217;lerin belirli kriterlere g\u00f6re e\u015fle\u015ftirilmesini ve s\u0131ralanmas\u0131n\u0131 sa\u011flar.\n<\/li>\n<\/ul>\n<p>\u0130lgilenenlerin faydalanmas\u0131 dile\u011fiyle&#8230;<br \/>\nSonraki yaz\u0131lar\u0131mda g\u00f6r\u00fc\u015fmek \u00fczere&#8230;<br \/>\n\u0130yi \u00e7al\u0131\u015fmalar&#8230;<\/p>\n<!-- AddThis Advanced Settings generic via filter on the_content --><!-- AddThis Share Buttons generic via filter on the_content -->","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu i\u00e7eri\u011fimizde a\u00e7\u0131k kaynak(open source) ve da\u011f\u0131t\u0131lm\u0131\u015f(distributed) arama(search) ve analiz(analysis) moturu olan Elasticsearch \u00fczerine teorik bir incelemede bulunacak, ne oldu\u011fu, nerelerde ne ama\u00e7la kullan\u0131ld\u0131\u011f\u0131 gibi sorular\u0131n cevaplar\u0131n\u0131 arayacak ve bir yandan da temel&#46;&#46;&#46;<!-- AddThis Advanced Settings generic via filter on get_the_excerpt --><!-- AddThis Share Buttons generic via filter on get_the_excerpt --><\/p>\n","protected":false},"author":1,"featured_media":26376,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4818],"tags":[4832,4820,4824,4868,4848,4871,4843,4856,4858,4835,4829,4838,4861,4859,4828,4834,4878,4823,4819,4870,4877,4876,4865,4869,4872,4874,4821,4863,4864,4853,4826,4857,4854,4842,4831,472,4851,4866,4867,4847,4844,4860,4873,4841,4846,4830,4852,4875,4840,4836,4837,4822,4862,4825,4827,4850,4845,4855,4833,4839,4849],"class_list":["post-26361","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-elasticsearch","tag-aggregations","tag-apache-lucene","tag-apache-software-foundation","tag-beats","tag-bool-query","tag-cluster","tag-cografi-arama","tag-completion-suggester","tag-contextual-suggestions","tag-dagitilmis-belge-depolama","tag-dagitilmis-ve-olceklenebilir-arama","tag-data-replication","tag-dictionary-based-approaches","tag-distance-based-approaches","tag-distributed-and-scalable-search","tag-distributed-document-storage","tag-document","tag-doug-cutting","tag-elasticsearch","tag-elasticsearch-cluster","tag-elasticsearch-document","tag-elasticsearch-index","tag-elasticsearch-kibana","tag-elasticsearch-machine-learning","tag-elasticsearch-node","tag-elasticsearch-replica","tag-elasticsearch-shard","tag-elasticsearch-stack","tag-elasticsearch-stack-nedir","tag-field-based-ranking","tag-full-text-search","tag-fuzzy-matching","tag-geo-ranking","tag-geospatial-search","tag-gercek-zamanli-veri-analizi","tag-index","tag-inverse-document-frequency","tag-kibana","tag-logstash","tag-match-phrase-query","tag-match-query","tag-mesafe-tabanli-yaklasimlar","tag-node","tag-olceklenebilir-analitik","tag-range-query","tag-real-time-data-analysis","tag-relevance-ranking","tag-replica","tag-scalable-analytics","tag-schema-free","tag-sema-ozgurlugu","tag-shard","tag-sozluk-tabanli-yaklasimlar","tag-synonym-recognition","tag-tam-metin-arama","tag-term-frequency","tag-term-query","tag-time-based-ranking","tag-toplanan-veri","tag-veri-kopyalama","tag-wildcard-query"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/26361","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/comments?post=26361"}],"version-history":[{"count":10,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/26361\/revisions"}],"predecessor-version":[{"id":26375,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/posts\/26361\/revisions\/26375"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media\/26376"}],"wp:attachment":[{"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/media?parent=26361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/categories?post=26361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gencayyildiz.com\/blog\/wp-json\/wp\/v2\/tags?post=26361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}