Kurulum ve bağlantı işlemleri için önceki yazılara okuyabilirsiniz: [1] [2] [3]. Solarium PHP ya da diğer kütüphaneler fark etmez; Solr’a yeni veriler eklemek için öncelikle Solr’ın gelecek verilere neye göre sınıflandırdığını öğrenmek gerekir. Solr dökümanları, barındıracağı verilerin tüm detaylarını içeren bir XML dosyası üzerinden (schema.xml) kontrol edilmekte. Bahsi geçen schema...
Solr Bağlantısı ve Ping Atma #2
Solr’ı kurulumu ve PHP için kullanacağımız kütüphaneyi seçiminden sonra; sıra geldi bu kütüphane aracılığıyla Solr üzerinde çalışmaya. Yazının güncelliğini koruması açısından, bu seferlik iki kütüphane ile de bağlantı işlemini yapacağım. Fakat ilerleyen yazılarda PECL üzerinden kurduğum ile devam edeceğim. Önce solarium ile bağlanalım. Projede library isminde bir klasör oluşturup library/...
Solr PHP Kütüphaneleri ve Kullanımı #1
Önceki yazıda Solr kurulumundan bahsetmiştim. Solr’a farklı programlama dilleri aracılığıyla erişmek ve kullanmak mümkün. Java (SolJava), Python (SolPython) ve PHP (SolrPHP) bunlardan birkaçı. Solr’ı daha çok PHP ile geliştirdiğim projelerde kullandığım için (ör: bitirme projesi) erişirken de farklı bir dil arayışına girmedim. Götürüsü daha fazla olan bir uğraş olacaktı. PHP tarafında...
Solr Kurulumu [Tomcat]
Solr, Lucene üzerine kurulu, arama uygulamalarındaki yetenekleriyle öne çıkan bir Apache ürünüdür. Java ile geliştirilmiştir. Üzerine kurulu olduğunu söylediğimiz Lucene ise; 10+ yıldır Java ile geliştirilen arama kütüphanesidir. Her ikisi ürün de açık kaynak kodludur. Solr farklı sunucular (servlet) üzerinde çalışmak için uygundur: Jetty, Resin, JRun ve Tomcat bunlardan bazıları. Daha önce...
Java’da GSON Kullanarak JSON Parse Etme
Java’nın hali hazırda JSON parse eden bir sınıfı var. Fakat bu yazının konusu JSON parse işlemini GSON ile yapmak. GSON kütüphanesi, Java’nın kendi yaptığından farklı olarak JSON çıktılarını direkt Java nesneleri haline getirebilme özelliğine sahip. Bu avantaj da kütüphaneyi vazgeçilmez yapıyor. Her JSON’ı nesne üzeriden taşımak gereksiz olabilir, fakat gerektiği yerde GSON kod...
Şimdiki Aklım Olsaydı
Hepimiz biliyoruz ki, tecrübe diye adlandırdığımız afilli kelime esasında sadece ne kadar sıçtığımızı gösteriyor. Ders çıkardıklarımız tecrübe hanesine, tekrar ettiklerimiz ahmaklık hanesine tereddütsüz yazılıyor. Bir süredir yeni yaş, yeni iş, yeni sorumluluklar üzerine düşünüyorum. Geçen zamanın telafisi için, daima daha çok zamana ihtiyacımız var. 22 yaş bazı şeyler -örneğin ölmek- için erken...
Günde Kaç Tweet Gönderdiğinizi Öğrenin: TwitPerDay.com
Yoğun geçen haftalardan sonra; az da olsa bulduğum vakitle birlikte başka bir twitter uygulaması yapma fırsatım oldu: TwitPerDay.com TwitAge.com’un altyapısını kullanarak (aynı plugin, db, js) kısa sürede uygulamayı tamamladım. Uygulama kullanıcıların günde ortalama kaç tweet gönderdiklerini hesaplıyor. Bunu hesaplarken önceki aylarda yazmış olduğun jQuery countUp eklentisinin temellerini...
Spinner ve onItemSelected Kullanımları | Android
Masaüstü ve web geliştirme ortamlarında selectbox, combobox, listbox gibi isimlerden aşina olduğumuz yapının Android üzerindeki adı Spinner. Birden fazla seçenek üzerinden işlem yaparken Spinner bileşenine ihtiyacımız var. Bileşenin içeriği seçenekleri hem dinamik (Activity başladığında), hem de statik olarak (xml üzerinden) eklemek mümkün. Ben bu yazıda XML üzerinden ekleyeceğim. Yeni bir xml...
Custom ArrayAdapter Kullanımı | Android
Daha önce Custom ListView üzerindeki filtreleme işlemlerinden bahsetmiştim. Custom ListView oluşturmak için ArrayAdapter’ı kullanacağınız List’e göre extend etmeniz gerekmektedir. Örnek bir ListView için ArrayAdapter’ı yazalım. Custom ListView 3 tane TextView’dan oluşsun. ListView’a gelecek olan alanları da Tip sınıfı nitelesin. Şu halde ArrayAdapter aşağıdaki gibi...
AsyncTask Kullanımı | Android
Android uygulamaları geliştirirken; uygulama arayüzünün yüklenmesi veya yenilenmesi durumlarında, kullanıcıyı bilgilendirmek için AsyncTask kullanımına ihtiyaç vardır. Diğer türlü arayüz üzerinde işlem yapmak mümkün değildir. AsyncTask’i hem inner class olarak hem de ayrı bir class olarak kullanmak mümkün. Ben bu yazıda inner class olarak kullanacağım. Yapılacaklar sürerken -bitene kadar...