Arama motoru alt yapısı arayanlara çözüm: Lucene

Lucene, Apache tarafından geliştirilen zamanında google tarafından da kullanılmış açık kaynaklı bir arama motoru alt yapısıdır. Arama fonksiyonu, veri tabanı büyüdükçe sistem kaynaklarını daha da fazla kullanmaya ve geliştiriciler üzerinde baskı oluşturmaya başlıyor. Büyük databaselerde genel arama yapılacağında, direk mysql’e yüklenmek yerine bellekte de tutulabilecek dosya sistemi üzerinde arama yapıp hem daha hızlı hem de sisteme daha az yük getirecek şekilde hazırlanmış Apache Lucene projesi bizleri bir çok sıkıntıdan kurtarmaktadır.Şanslıyız ki, kendileri php ye de port edilmiş durumda ve Zend framework içerisinde bütünleşik olarak geliyor. Lucene’in bir çok güzelliğinin (tam özellik listesi: http://lucene.apache.org/core/) en çok göze çarpan özelliklerinden bir tanesi hiç şüphesiz ki arama sonuçlarında puanlama yapabilmesi. Yoğunluğa, kelimenin ilgili arama değerlerinde bulunduğu pozisyona göre v.s. bir çok kriterle belirlenen bu puanlama bizim kullanıcılarımıza aradıkları en yakın sonuçları getirmemizi sağlıyor. Bunun dışında kendilerinin word, excel, powerpoint ve html dosyaları içerisinde de arama yapabiliyor olmasıysa özellikle makale sistemi ya da finansal değerleri içeren sistemlerde dosyaları da aratabilmek ve ilgili kaydı gösterebiliyor olmasıyla geliştiriciler için oldukça işe yarar sonuçlar elde edilmesini sağlıyor. En basit tanımıyla kendisinin işleyişi ise: Öncelikle sistemde aranacak içerikleri indexliyorsunuz (veri tabanında, dosyalarda v.s.), sonrasında da bu index içerisinde arama yapıyorsunuz. Veri tabanına sadece indexleme aşamasında giriyorsunuz. İsterseniz sıfırdan oluşturabilirsiniz ya da mevcut kaydı update edebilirsiniz. Ya da yeni eklenen kaydı ekleyebilirsiniz komple search db’ye. Bu sayede, db üzerinden yükü alıp, yükü dosya sistemine bindirebiliyoruz.

Zend ile bütünleşik kullanımına: http://framework.zend.com/manual/1.12/en/zend.search.lucene.html adresinden erişebilirsiniz.

Benzer Yazılar
Access ile veri tabanı öğrenirken uygulamalar Devamı
Access ile veritabanı öğrenmek için bir Devamı
Veritabanı organizasyonu dersi için hazırlanmış normalizasyon Devamı
Öğrenci bilgileri, öğrencinin aldığı dersler, ders Devamı
Access ile yapılmış CheckListBox örneğini Devamı
Please follow and like us:
0

2 yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir