Elasticsearch’de Edge nGram Tokenizer Kullanımı

Elasticsearch gerçek zamanlı olarak çalışabilen bir arama motoru. Index’lediğiniz veri üzerinden çok hızlı bir şekilde arama ve filtreleme yapma imkanı sunuyor. İstenilen arama ve filtreleme sonuçlarına ulaşabilmek için öncelikle verinin doğru bir şekilde Elasticsearch’e tanıtılması gerekiyor. Bunu da index oluştururken belirttiğimiz mapping ayarıyla yapıyoruz. Mapping bize; verinin yapısı, türü, index’lenirken ve aranırken hangi analyzer’ların kullanılacağı gibi bir çok tanım yapma imkanı sunuyor.

Continue reading Elasticsearch’de Edge nGram Tokenizer Kullanımı

Cache Sistemlerinde “Dog-pile Effect” den Korunmak

Standart bir web uygulamasında, cache araçlarını kullanmak basit görünebilir. Bir değerin cache’de var olup olmadğı kontrol edilir, varsa değer alınır, yoksa yeniden üretilip daha sonraki isteklere sunulmak üzere cache’e yazılır. Fakat yüksek trafiğe sahip bir uygulamada, cache süresi bittiğinde aynı anda gelen istekler, cache’lenmiş içeriği eş zamanlı tazelemeye çalışabilirler. Bu da kullandığınız veri kaynağına (veritabanı, web servis vb..) extra yük getirecektir.

Continue reading Cache Sistemlerinde “Dog-pile Effect” den Korunmak

GitHub Web Hook ile Deployment

Git hosting olarak Github kullanılan projelerde, Github’a gönderilen her yeni commit’de bir web adresinin tetiklenmesini sağlayabilirsiniz. Service Hooks menüsü altında yer alan WebHook URLs sayfasından, kaynak kodda değişiklik olduğu zaman, önceden tanımlanmış adres(ler)e POST methoduyla, güncelleme bilgilerini içeren JSON-encoded data ile beraber istek gönderilir. Burada örnek içeriğini bulacağınız payload bilgisine bakarak isteğin Github’dan gelip gelmediğini kontrol edebiliriz.
Continue reading GitHub Web Hook ile Deployment