Solr,Apache Lucene projesinin bir parçası olan tam metin arama, çok yönlü arama, devirgen kümeleme, veritabanı ile bütünleşik, Microsoft Word veya PDF benzeri belgeleri indeksleme gibi özellikleri olan açık kaynak kodlu oldukça esnek bir arama motorudur. Solr en popüler kurumsal arama motoru yazılımdır.
Demişler Wikipedia’da. Öncelikle işe, Türkçe mealiyle başlayalım.
Solr, bir veritabanı değil. Solr kendi içinde evet veri tutuyor. Ama bunları depolamak için değil, ihtiyaç duyulduğunda size hızlı bir şekilde sunma için kullanıyor. Yaniii?
- Solr’ı sunucumuza kuruyoruz.(Solr Kurulumu)
- Solr’da data klasörünün içine tablo şablonunun konfigürasyonunu oluşturuyoruz. Bu şu demek;
Mysql ‘de tutulan verimiz olsun. Örneğin 10.000 sayfalık bir kitabın sayfaları. Kitapta geçen bir kelimenin kaç kere geçtiğini, hangi sayfalarda geçtiğini öğrenmek istiyoruz. Bunu LIKE’ladığımızda dk’larca süren bir sorguyla karşı karşıya kalırız.3 dk mı olur? 5 dk mı olur? Ona bir şey veremem. Bu aramayı Solr kullanarak yapsaydık, sonuç 1-2 sn içerisinde dönecekti.
Tablonun benzeri bir şablon yapısını, SOLR şablon ayar dosyasında yapıyoruz. SOLR’a kurulum yaparken MySql driver’ını(JAR olarak) yüklüyoruz. Sonra da data çekeceğiniz database, şu MySql db’si diyoruz. Al bu datayı indeksle diyoruz. Tüm datayı içine çekiyor SOLR. Ve SOLR’ın REST yapısını kullanarak aramalar yapıyoruz. Örneğin; link.com:8983?q=merhaba dediğimizde tüm amacımıza ulaşıp, bize dönen JSON ile mutlu oluyoruz.
Özetle SOLR’ı hızlı metin arama işlemleri için kullanıyoruz. Veritabanında LIKE kullanarak arama yapılan sonuç dakikalarca sürerken, SOLR ile bu 1 sn civarında sürüyor.
Nerede kullanabiliriz?
Dökümantasyon ama uygulamalarında, kütüphane katalog uygulamalarında özetle yüklü text içeren tüm veri aramalarında kullanabiliriz. Son olarak SOLR’a http://lucene.apache.org/solr/
buradan ulaşabilirsiniz.
İyi Çalışmalar.