Anleitung: Apache Solr optimierte Suche für Drupal 6 auf einem Ubuntu 8.04 Server

27 Juni 2011 von Andy Kommentieren »

Mit Apache Solr können Sie eine intelligente Suchmaschine in Drupal integrieren. Apache Solr läuft mit einem Java Servlet Container. Wir verwenden hierzu Tomcat6.

Die Funktionen im Überblick:

  • Volltextsuche
  • Faceted Search
  • Filterung
  • Ähnliche Treffer
  • Relevanz
  • PDF, DOC, XLS,… Suche (Dokumentensuche mit Tika)
  • Indizierung
  • uvm.

Voraussetzungen:

Ubuntu 8.04 mit PHP5, Apache2, MySQL und installiertem Drupal 6.

Man kann den Solr Server auf dem Webserver betreiben, oder einen eigenständigen Server verwenden. Hier im Beispiel wird desselbe Server verwendet.

Schritt 1: Root Login

Alle Befehle müssen als Root ausgeführt werden. Loggen Sie sich bitte als Root User ein mit:

sudo su

Schritt 2: Quellen Update

Die Quellen müssen geupdatet werden mit:

apt-get update

Schritt 3: Download von Apache Solr und Tomcat 6

Laden Sie folgende Dateien herunter:

Apache Solr (http://www.apache.org/dyn/closer.cgi/lucene/solr/)

wget  http://apache.imsam.info//lucene/solr/1.4.1/apache-solr-1.4.1.tgz

Tomcat 6 – Core Datei (http://tomcat.apache.org/download-60.cgi)

wget http://artfiles.org/apache.org/tomcat/tomcat-6/v6.0.32/bin/apache-tomcat-6.0.32.tar.gz

Schritt 4: Installation vom Java SDK

apt-get install sun-java6-jdk

Hier müssen die Lizenzen angenommen werden.

Schritt 5: Entpacken der Dateien

tar xzf tar xzf apache-tomcat-6.0.32.tar.gz

und

tar xzf apache-solr-1.4.1.tgz

Schritt 6: Kopieren und verschieben der Dateien

Tomcat6

mv apache-tomcat-6.0.32 /usr/local/tomcat6

Apache Solr

cp apache-solr-1.4.1/dist/apache-solr-1.4.1.war /usr/local/tomcat6/webapps/solr.war
 cp -r apache-solr-1.4.1/example/solr /usr/local/tomcat6/solr
mkdir /usr/local/tomcat6/conf/Catalina
mkdir /usr/local/tomcat6/conf/Catalina/localhost

Anlegen der solr.xml Datei

vim /usr/local/tomcat6/conf/Catalina/localhost/solr.xml

Fügen Sie in diese Datei folgenden Code ein und speichern Sie diese.

<Context docBase=”/usr/local/tomcat6/webapps/solr.war” debug=”0″ crossContext=”true” >
<Environment name=”solr/home” type=”java.lang.String” value=”/usr/local/tomcat6/solr” override=”true” />
</Context>

Schritt 7: Catalina und Java Konfiguration

Führen Sie folgende Befehle nacheinander aus:

export CATALINA_HOME=/usr/local/tomcat6
export CATALINA_BASE=/usr/local/tomcat6
export JAVA_OPTS=”$JAVA_OPT -Dsolr.solr.home=/usr/local/tomcat6/solr”
export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24

Es kann vorkommen, dass beim kopieren die Ausrufzeichen nicht mit kopiert werden. Bitte achten Sie darauf!

Test der Einstellung:

/usr/local/tomcat6/bin/startup.sh

Folgendes sollte nun zu sehen sein:

Schritt 8: Solr Administration Test

Öffnen Sie in einem Webbrowser folgende Adresse:

http://deineipadresse:8080/solr/admin

Nun sollten Sie folgendes angezeigt bekommen:

Schritt 9: Startup Skript erstellen

Um Tomcat6 starten, stoppen oder neustarten zu können, müssen wir ein Skript anlegen:

vim /etc/init.d/tomcat6

Fügen Sie folgenden Code in die Datei, passen Sie ggf. den Java Pfad (Zeile 3) an und speichern Sie das ganze.

# Tomcat Startup Skript

export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.24
export JAVA_OPTS=”$JAVA_OPTS -Dsolr.solr.home=/usr/local/tomcat6/solr”

case $1 in
start)
sh /usr/local/tomcat6/bin/startup.sh
;;
stop)
sh /usr/local/tomcat6/bin/shutdown.sh
;;
restart)
sh /usr/local/tomcat6/bin/shutdown.sh
sh /usr/local/tomcat6/bin/startup.sh
;;
esac
exit 0

Rechte setzen:

chmod +x /etc/init.d/tomcat6

Update:

update-rc.d tomcat6 start 9 1 2 3 4 5 . stop 20 0 1 6 .

Test:

/etc/init.d/tomcat6 restart

Folgendes sollte nun angezeigt werden:

Schritt 10: Installation des Apache Solr Moduls in Drupal

Laden Sie hierzu das Modul herunter:

http://drupal.org/project/apachesolr

Kopieren Sie es per FTP auf Ihren Webserver unter /modules/

Schritt 11: Kopieren notwendiger Solr Dateien

cp /var/www/modules/apachesolr/schema.xml /usr/local/tomcat6/solr/conf/
cp /var/www/modules/apachesolr/schema.xml /usr/local/tomcat6/solr/conf/

Tomcat neustarten:

/etc/init.d/tomcat6 restart

Schritt 12: SolrPhpClient installieren

Download: http://solr-php-client.googlecode.com/files/SolrPhpClient.r22.2009-11-09.tgz

Es muss die Revision R22 sein.

Kopieren Sie den Inhalt unter /modules/apachesolr/SolrPhpClient

Schritt 13: Konfiguration in Drupal 6

Öffnen Sie Ihre Drupal Seite und gehen Sie unter Verwalten –> Strukturierung –> Module.

Aktivieren Sie folgende Module:

  • Apache Solr search
  • Apache Solr node access

Gehen Sie nun unter Verwalten –> Website-Einstellungen –> Apache Solr

Geben Sie hier nun den Hostname, Port und das Verzeichnis an:

Bei mir:

Hostname: localhost
Port: 8080
Verzeichnis: /solr

Wenn oben in grün angezeigt wird: Apache Solr: Your site has contacted the Apache Solr server. ist alles in Ordnung.

Schritt 14: Indizierung starten

Die Inhalte müssen jetzt noch indiziert werden. Gehen Sie hierzu unter Search Index und klicken Sie auf running cron. Die Indizierung dauert ein paar Minuten.

Hierzu sollte eine Cronjob eingerichtet werden.

Wenn die Dokumente indiziert wurden kann das ganze mal getestet werden.

Und siehe da: Es funktioniert.

Viel Spass damit!

Weiterführende Links:

Werbung

Hinterlasse eine Antwort

*

Kommentarlinks könnten nofollow frei sein.