tarafından eklendi tarafından eklendi

Centos Üzerine SOLR Kurulumu

Bir önceki yazımızda SOLR’dan bahsetmiştik.

Kuruluma geçelim. İlk önce repo güncellemeyle işe koyulalım.

sudo yum update

SOLR, Java gerektirdiği için Java sürümüne bakalım.

java -v

Java version 8 veya 9 olmalı.

Sistemde wget ve nano kurulu değilse, bu paketleri kuralım.

yum install wget

yum install nano

Şimdi SOLR’ın güncel paketini indirip, açalım

cd /usr/local

wget http://www-eu.apache.org/dist/lucene/solr/7.3.0/solr-7.3.0.tgz

Arşivi açıp, kuruluma geçelim,

tar xzf solr-7.3.0.tgz solr-7.3.0/bin/install_solr_service.sh –strip-components=2

sudo bash ./install_solr_service.sh solr-7.3.0.tgz

SystemD yüklü olan kullanıcılar aşağıdaki komutlar ile SOLR servisini başlatabilir, durdurabilir, durumuna bakabilir.

sudo systemctl stop solr
sudo systemctl start solr
sudo systemctl status solr

kurulumu tamamladık. Şimdi ilk SOLR Core ve Arşivleme yapımızı yapılandıralım.

SOLR DATA KOLEKSİYONU OLUŞTURMA

SOLR’ı mevcut veritabanımızı indekslemeye hazır hale getirmeliyiz. Daha sonra SOLR RestAPI  üzerinden rahatlıkla sorgularımızı yapabiliriz.

sudo su – solr -c “/usr/local/solr/bin/solr create -c koleksiyon -n data_driven_schema_configs”

Core’umuzu oluşturduk. Created new core ‘koleksiyon’  dönmeli bize.

Tüm adımları doğru yerine getirdiysek, web arayüzüne geçebiliriz artık.

SOLR WEB ARAYÜZÜNE GİRİŞ

SOLR, öntanımlı olarak 8983 nolu portu kullanır. SOLR kurulumu yapılan makinenin ip’sinin 192.168.1.1 olduğunu varsayacağım. Anlatımları bunun üzerinden yapacağım.

http://192.168.1.1:8983

Bu adresten web arayüzüne ulaşıyoruz.

SOLR’ı bir kullanıcı girişi ile güvenceye almadık. Daha sonraki yazılarımda, SOLR’a erişmek için nasıl bir kullanıcı adı ve şifre atayacağımızı anlatacağım.

SOLR İLE RESTAPI ÜZERİNDEN SORGU ÇALIŞTIRMA

Core ve Collection’ı ayarladıktan sonra aşağıdaki resimdeki gibi bir ekran olacak.

Query linkine tıklayınca açılan sorgu penceresinden, istediğimiz sorguyu çalıştırabiliriz. Örnek çıktı’da önceki resimde gözükmektedir.

Yukarıdaki ekranda, sorgu için kullanılan parametrelerin birkaçını açıklayalım.

Alan Açıklama

(qt)

İstek tipi parametresi (Örn:”/Select”)

q

Sorgulama parametresi.

fq

Filtreleme  parametresi

sort

Sıralama parametresi

start, rows

Sonuçların belirli satırlarını çekmek için kullanılan parametre.

facet

Kategori bazlı indeksleme parametresi

Kurulum kısmını tamamladık. Başka bir SOLR yazısında görüşmek dileğiyle.

Solr’ın Prospektüsü

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.