Apache Solr, Java ile geliştirilen açık kaynak kodlu bir arama platformudur. Pek çok web sitesi tarafından kullanılan Apache Solr, son kullanıcının site üzerindeki içerikte arama yaparak doğru içeriğe ulaşmasını kolaylaştırmaktadır. Bu yazımızda adım adım Apache Solr’ı Centos 7 üzerinde nasıl kurabileceğinizi görebilirsiniz.
Ön Gereksinimler
Solr’ın çalışabilmesi için sistem üzerinde java kurulu olmalıdır. Bu sebeple ön gereksinim olarak sisteme java kurulmalıdır. Aşağıdaki komut yardımıyla Solr ön gereksinimleri kurulabilir;
sudo yum install -y lsof java-1.8.0-openjdk java-1.8.0-openjdk-devel
Kurulum ardından java sürümü kontrol edilerek kurulumun başarılı olduğu görülebilir;
java -version
İşletim sistemleri hafıza yetmediği zaman diskin bir kısmını hafıza gibi kullanır. Bu durumda da disk performası RAM ile kıyaslandığında yavaş olduğundan uygulamalarda yavaşlık gözlemlenecektir. Apache Solr gibi performans isteyen uygulamalarda bu durumun oluşmaması adına aşağıdaki komut ile işletim sisteminin swap kullanımı engellenir;
swapoff -a
Bu komut sadece mevcut oturum için geçerli olacağı için kalıcı hale getirmek için /etc/fstab dosyası düzenlenmelidir;
vi /etc/fstab
Açılan ekranda swap satırı # ile comment edilir;

Kurulum
Apache Solr web sitesinde güncel sürüm tespit edilerek LATEST_VER değişkenine atanır ve sürüm aşağıdaki komutla indirilir;
export LATEST_VER="8.5.2"
Daha sonrada güncel sürüm aşağıdaki sürümle yerele indirilir;
curl -O https://downloads.apache.org/lucene/solr/${LATEST_VER}/solr-${LATEST_VER}.tgz
Not: Güncel sürümlere https://downloads.apache.org/lucene/solr/ adresinden ulaşılabilir.
Yerele indirilen dosya aşağıdaki komut kullanılarak ayıklanır;
tar xvf solr-${LATEST_VER}.tgz
Ayıklanan dizine gidilerek kurulum betiği başlatılır;
cd solr-${LATEST_VER}/bin/ sudo ./install_solr_service.sh ~/solr-${LATEST_VER}.tgz
Kurulum aşağıdakine benzer bir çıktı üretecektir;
id: solr: no such user Creating new user: solr Extracting /home/vagrant/solr-8.5.2.tgz to /opt Installing symlink /opt/solr -> /opt/solr-8.5.2 ... Installing /etc/init.d/solr script ... Installing /etc/default/solr.in.sh ... Service solr installed. Customize Solr startup configuration in /etc/default/solr.in.sh *** [WARN] *** Your open file limit is currently 1024. It should be set to 65000 to avoid operational disruption. If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh *** [WARN] *** Your Max Processes Limit is currently 4096. It should be set to 65000 to avoid operational disruption. If you no longer wish to see this warning, set SOLR_ULIMIT_CHECKS to false in your profile or solr.in.sh Waiting up to 180 seconds to see Solr running on port 8983 [\] Started Solr server on port 8983 (pid=16831). Happy searching! Found 1 Solr nodes: Solr process 16831 running on port 8983 { "solr_home":"/var/solr/data", "version":"8.5.2 384dadd9141cec3f848d8c416315dc2384749814 - mdrob - 2020-05-19 13:23:17", "startTime":"2020-06-22T08:42:03.273Z", "uptime":"0 days, 0 hours, 0 minutes, 13 seconds", "memory":"141.5 MB (%27.6) of 512 MB"}
/etc/security/limits.d/20-nproc.conf dosyasına aşağıdaki satırlar eklenir;
solr soft nofile 65000 solr hard nofile 65000 solr soft nproc 65000 solr hard nproc 65000
Kurulumun tamamlanması ardından aşağıdaki komutla sola servis durumu kontrol edilebilir;
sudo systemctl status solr
Servisi otomatik başlamak üzere aktif hale getirilir;
sudo systemctl enable solr
Firewall aktif ise gerekli izinler aşağıdaki komutla verilir;
sudo firewall-cmd --permanent --add-port=8983/tcp sudo firewall-cmd --reload
Solr’ın elle çalıştırılması istenirse aşağıdaki komut kullanılabilir;
sudo su - solr -c "/opt/solr/bin/solr start -p 8983"
Solr servisinin başlaması ardından aşağıdaki adres üzerinden erişim sağlanabilir;
http://<IP|Hostname>:8983
Aşağıdaki şekilde sola ana sayfası karşılayacaktır.

Bu kurulum ve yapılandırmalar ardından Apache Solr kullanıma hazır hale gelecektir. Geliştirme ortamı için burada paylaştığımız yapılandırmalar fazlasıyla yeterli olmakla birlikte üretim ortamında dikkat edilmesi gereken pek çok ayrıntı bulunmaktadır. Bu ayrıntılar ve danışmanlık talepleriniz için bize iletişim sayfamızda yer alan bilgilerle ulaşabilirsin.