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 geliştirdiğim jsp/jsf projeleri sırasında Tomcat kullandığımdan için, Solr’ı da aynı sunucu üzerine kurmaya karar verdim. Yazıda da Solr’ın Tomcat üzerindeki kurulumunu olacak.
Adım 0
Önce Tomcat’i kuralım:
[code lang=”bash”] sudo apt-get install tomcat6[/code]
Ardından Solr’ın kullanmak istediğimiz sürümünü “/home/$USERNAME” dizinine indirelim ve zipten çıkartalım (ben 3.4.0 sürümünü kullanıyorum):
[code lang=”bash”] cd /home/$USERNAMEwget -c http://apache.tradebit.com/pub/lucene/solr/3.4.0/apache-solr-3.4.0.zip
unzip apache-solr-3.4.0.zip
[/code]
Adım 1
Solr’a hızlıca göz atmak için (opsiyonel):
[code lang=”bash”] cd apache-solr-3.4.0/example/java -jar start.jar
[/code]
Konsol işlemleri tamamladığında localhost:8983/solr/admin/ adresi Solr için hazır durumdadır. Tabii bu yalnızca .jar üzerinden çalıştırılan bir instance. Bunu Tomcat üzerine taşımak için (tekrar /home/<default-account> dizinine geçin):
Adım 2
[code lang=”bash”] sudo cp apache-solr-3.4.0/dist/apache-solr-3.4.0.war /var/lib/tomcat6/webapps/solr.warsudo cp -R apache-solr-3.4.0/example/solr/ /var/lib/tomcat6/solr/
[/code]
İlk komut .war dosyasını Tomcat’in uygulama dizinine (webapps) solr.war ismiyle kopyalıyor. Tomcat kopyalama işleminden sonra dosyayı dizine -otomatik- çıkartacak. İkinci komut ise, solr’ın (single core) çalışması için gerekenleri Tomcat içerisine kopyalıyor.
Adım 3
Sırada Solr’ın konfigürasyonunu yapmak var:
[code lang=”bash”] sudo nano /etc/tomcat6/Catalina/localhost/solr.xml[/code]
Açılan dosyaya aşağıdakileri ekleyin ve kaydererek çıkın:
[code lang=”xml”] <Context docBase="/var/lib/tomcat6/webapps/solr.war" debug="0" privileged="true" allowLinking="true" crossContext="true"><Environment name="solr/home" type="java.lang.String" value="/var/lib/tomcat6/solr" override="true" />
</Context>
[/code]
Adım 4
Son olarak Solr’ın indexleri için bir dizin oluşturmak kaldı:
[code lang=”bash”] cd /var/lib/tomcat6/solrsudo mkdir data
[/code]
Bu dizini de /var/lib/tomcat6/solr/conf dizini altında solrconfig.xml’de gösterelim. Dosyadaki <dataDir> satırını aşağdıaki ile değiştirin:
[code lang=”xml”] <dataDir>/var/lib/tomcat6/solr/data</dataDir>[/code]
Yapılacaklar bu kadar, Solr artık kullanıma hazır: http://localhost:8080/solr/
Daha sonraki yazılarda çoklu kullanım için (multicore) kurulumdan, detaylardan ve PHP üzerinde geliştirme yapmak için kullanılacak kütüphanelerden bahsedeceğim.
[…] yazıda Solr kurulumundan […]
[…] 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. […]
HTTP Status 404 – missing core name in path
type Status report
message missing core name in path
description The requested resource (missing core name in path) is not available.
Bu hatayı alıyorum, dataDir i de belirttim,araştırıyorum ama direk çözümünü biliyorsanız, benimle paylaşın mutlu olurum 🙂
Selam ogulcan, bu admin paneli koruma kısmını nasıl aştın? tavsite edilen yöntem htaccess. Bu şekilde mi çözüme ulaştın?