Irgendwann kommt der Zeitpunkt da ist einem die Suche seines Programmes über die Datenbank zu langsam oder gewisse Features sind nur schwer über die Datenbank zu realisieren oder die Suche skaliert einfach zu schlecht. Gründe gibt es viele sich mal umzuschauen nach Alternativen. Aber was gibt es da? Eine Lösung könnte Apache Solr sein.
Apache Solr ist eine Enterprise Plattform für Suchen. Solr baut auf dem Apache Lucene Projekt auf und bietet Features wie Highlighting, Faceting, Clustering, Volltextsuche, REST-Schnittstelle und andere tolle Sachen die man auch von Google her kennt.
In diesem Artikel möchte ich euch bei den ersten Schritten mit Apache Solr unterstützen. Vielleicht gibt es zu dem Thema in Zukunft auch noch weitere Artikel.
Also, was haben wir vor. Ich möchte eine Multicore-Installation von Solr mit Tomcat zeigen. Dazu muss man wissen, dass man mit Solr nicht nur eine “Datenbank” zum dursuchen haben kann sondern mehrere parallel(Multicore) und das auch mit unterschiedlichen Konfigurationen. Aber dazu später mehr.
OK. Was brauchen wir?! Apache Solr und Apache Tomcat. Beides können wir als tar.gz herunterladen:
http://tomcat.apache.org/
http://lucene.apache.org/solr/
Weiterhin benötigt ihr Java. Das heißt, ihr solltet euch entweder Java herunterladen oder über eure Distribution installieren.
Kommen wir zu unserem Arbeitsbereich. Hierfür nutze ich den Ordner /www/solr bei mir. Ihr könnt auch irgend ein Ordner eurer Wahl nehmen. In diesem Ordner entpackt ihr dann das Solr.tar.gz und das Tomcat.tar.gz. Danach benennt ihr noch das Solar Verzeichnis direkt in “solr” und das Tomcat Verzeichnis direkt in “tomcat” um. Fertig wäre Step 1.
Und weiter geht es mit Step 2. Jetzt legen wir den Ordner “solr-multicore” in /www/solr an. Danach kopieren wir alles aus solr/examples/multicore nach /www/solr/solr-multicore:
cp -a /www/solr/solr/examples/multicore/* /www/solr/solr-multicore/
Im Step 3 kümmern wir uns endlich um Tomcat. Wir müssen Tomcat zum einen mitteilen wo er unsere Multicore Installation findet und zum anderen müssen wir Solr im Tomcat veröffentlichen. Wir öffnen also tomcat/conf/catalina.properties und fügen folgende Zeile hinzu:
solr.solr.home=/www/solr/solr-multicore
Jetzt legen wir noch einen Benutzer für die Verwaltung von Tomcat an. Dazu öffnen wir tomcat/conf/tomcat-users.xml und legen die Datei so an:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager-gui"/> <user username="admin" password="admin" roles="manager-gui"/> </tomcat-users>
Jetzt sind wir auf der Zielgeraden. Wir müssen jetzt noch Solr im Tomcat veröffentlichen. Dazu kopieren wir die WAR-Datei aus Solr in das Tomcat webapps Verzeichnis.
cp /www/solr/solr/dist/apache-solr-3.3.0.war /www/solr/tomcat/webapps/solr.war
Jetzt brauchen wir nur noch Tomcat starten. Dazu gehen wir in das Verzeichnis tomcat/bin und führen startup.sh aus. Nach dem starten öffnen wir unseren Browser und öffnen folgender URL:
http://localhost:8080/solr/
Damit sollten wir einen Überblick über alle konfigurierten Cores in Solr sehen und können jetzt anfangen mit Solr zu spielen. Dazu kommen wir aber in einem neuen Artikel. Zum Schluss noch kurz erwähnt. In solr-multicore/solr.xml könnt ihr weitere Cores konfigurieren und in jedem Core Ordner gibt es einen conf Ordner mit einer schema.xml über welche ihr den Core konfigurieren könnt. Dazu dann aber mehr in einem neuen Artikel.