Sprache auswählen

Solr ist eine Open-Source-Suchplattform, welche in Java geschrieben ist und vom Apache-Lucene-Projekt entwickelt wird. Einer der Haupteinsatzzwecke von Solr ist die optimierte Volltextsuche.

In dieser Anleitung ist beschrieben, wie Sie Solr auf Ihrem Managed Flex Server in Betrieb nehmen können.

Anforderungen

Für den Betrieb von Solr müssen nachfolgende Anforderungen erfüllt sein:

  • Java Runtime Environment (JRE) – steht auf Ihrem Managed Flex Server zur Verfügung und wird von uns laufend aktualisiert.
  • Solr kann ab Managed Flex Server M in Betrieb genommen werden.

Installation und Inbetriebnahme

Um die nachfolgenden Schritte ausführen zu können, müssen Sie via SSH auf Ihrem Managed Flex Server eingeloggt sein.

Wir empfehlen Ihnen, Ihre Applikationen in einem App-Ordner in Ihrem Kundenhome zu installieren, damit Sie eine klare Übersicht Ihrer installierten Applikationen haben. In dieser Solr-Installations- und Konfigurationsanleitung legen wir die Applikation unter ~/app/solr ab. Diese Ordnerstruktur können Sie wie folgt anlegen:

mkdir -p ~/app/solr

Herunterladen von Solr

Für das Herunterladen von Solr wechseln Sie in das oben erstellte Applikationsverzeichnis:

cd ~/app/solr

Anschliessend müssen Sie die aktuellste Version von der Solr-Website herunterladen und entpacken:


			 wget https://downloads.apache.org/lucene/solr/x.x.x/solr-x.x.x.tgz -O /tmp/solr.tar.gz
			 tar -xzf /tmp/solr.tar.gz -C ~/app/solr
			 rm -rf /tmp/solr.tar.gz
			

Es empfiehlt sich, einen Symlink von ~/app/solr/current auf den heruntergeladenen Ordner zu erstellen, damit in den Konfigurationsdateien nicht mit Versionsnummern gearbeitet werden muss. Dieser Symlink kann folgendermassen erstellt werden:

ln -s ~/app/solr/solr-x.x.x ~/app/solr/current

Konfiguration von Solr

Damit Solr nur auf 127.0.0.1 hört, muss nachfolgende Option im Konfigurationsfile ~/app/solr/current/bin/solr.in.sh gesetzt werden:

~/app/solr/current/bin/solr.in.sh
SOLR_OPTS="$SOLR_OPTS -Djetty.host=127.0.0.1"

Ansonsten hört Solr auf jede IP-Adresse des Servers und wäre dadurch vom Internet aus erreichbar!

Testen von Solr

In diesem Abschnitt ist beschrieben, wie Sie Solr starten, ein Dokument darin ablegen und es wieder abfragen können.

Nach erfolgreicher Installation und Konfiguration können Sie Solr folgendermassen für erste Tests im Vordergrund (Argument -f) starten:

~/app/solr/current/bin/solr start -f

Da Solr nun läuft, können Sie auf einer zweiten Shell via SSH einen Solr Core erstellen, in welchem die Dokumente abgelegt und abgefragt werden können. Nachfolgender Befehl erzeugt einen Solr Core mit dem Namen example-core.

_JAVA_OPTIONS="-Xms32m -Xmx256m" ~/app/solr/current/bin/solr create_core -c example-core

Ein Solr Core referenziert ein Index mit den dazugehörenden Konfigurationen und Transaktionslogfiles.

Dokument in Solr ablegen

Mit nachfolgendem PHP Script, welches unter ~/app/solr/hello-world-insert.php abgelegt wird, kann mittels Solr PHP Library ein Dokument in Solr abgelegt werden. Das Dokument wird mit der ID 1, der Kategorie example und dem Text «Hello World!» erstellt.

~/app/solr/hello-world-insert.php
<?php 

$options = array
(
    'hostname' => '127.0.0.1',
    'port' => 8983,
    'path' => 'solr/example-core'
);

$client = new SolrClient($options);

$doc = new SolrInputDocument();

$doc->addField('id', 1);
$doc->addField('cat', 'example');
$doc->addField('text', 'Hello World!');

$updateResponse = $client->addDocument($doc);
$client->commit();

print_r($updateResponse->getResponse());

?>

Folgendermassen kann das PHP Script ausgeführt werden und das Dokument wird in Solr abgespeichert:

php ~/app/solr/hello-world-insert.php

Dokument in Solr suchen

Um Dokumente in Solr zu suchen, kann das untenstehende PHP Script, welches unter ~/app/solr/hello-world-search.php abgelegt wird, verwendet werden. In diesem Beispiel werden alle Dokumente mit der Kategorie example gesucht und für die gefundenen Dokumente die Felder id, cat und text zurückgegeben.

~/app/solr/hello-world-search.php
<?php
			
$options = array
(
    'hostname' => '127.0.0.1',
    'port' => 8983,
    'path' => 'solr/example-core'
);

$client = new SolrClient($options);

$query = new SolrQuery();

$query->setQuery('cat:example');

$query->setStart(0);

$query->setRows(50);

$query->addField('id')->addField('cat')->addField('text');

$query_response = $client->query($query);

$response = $query_response->getResponse();

print_r($response);

?>

Dieses Script können Sie nun ebenfalls ausführen, um die Funktion zu testen:

php ~/app/solr/hello-world-search.php

Integration

Betrieb mit der Custom Service Control

Bisher haben Sie Ihre Applikation von Hand über die Shell gestartet. Während das zum Testen und Entwickeln zwar ein einfacher Weg sein kann, ist es für den produktiven Betrieb keine Option. Die Custom Service Control (CSC) kann sich um den Betrieb und das automatische Management Ihrer Applikation, zum Beispiel das Starten und Stoppen bei Wartungsarbeiten an Ihrem Server, kümmern.

Falls Sie den CSC bisher noch nicht verwendet haben, sollten Sie diesen einmal starten, um die notwendigen Konfigurationsdateien zu erstellen:

hpservices supervisord start
supervisord successfully started

Die Konfiguration von Solr in der CSC ist denkbar einfach. Erstellen Sie dazu einen neuen Custom Service für Solr:

hpservices supervisord add solr
successfully created dir for solr: /home/username/.services/supervisord/solr
successfully created dir for solr: /home/username/.services/supervisord/solr/log
supervisord service config file written: /home/username/.services/supervisord/solr/service.conf

Dabei wird in der Datei ~/.services/supervisord/solr/service.conf ein Konfigurationsgerüst für den neuen Service erstellt. Für Solr muss nur das command angepasst werden, ansonsten können Sie alle vorgeschlagenen Werte übernehmen (Strichpunkt am Anfang der Zeile entfernen).

~/.services/supervisord/solr/service.conf
[program:solr]
command=%(ENV_HOME)s/app/solr/current/bin/solr start -f
directory=%(ENV_HOME)s/app/solr/ ; directory to cwd to before exec (default no cwd)
autostart=true ; start application at supervisord start (default: true)
stopwaitsecs=10 ; max num secs to wait before SIGKILL (default 10)
stdout_logfile=%(ENV_HOME)s/.services/supervisord/solr/log/default.log
stdout_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default ist 50MB)
stdout_logfile_backups=10 ; number of stdout logfile backups (0 means none, default 10)
stderr_logfile=%(ENV_HOME)s/.services/supervisord/solr/log/default.err
stderr_logfile_maxbytes=1MB ; filesize at which to rotate logfiles (default is 50MB)
stderr_logfile_backups=10 ; number of stderr logfile backups (0 means none, default 10)

Damit der Supervisord den Solr-Prozess überwachen kann, muss Solr zwingend im Vordergrund laufen gelassen werden (Option -f).

Sollte der Solr Prozess für die Tests weiter vorne in der Anleitung noch laufen, beenden Sie diesen bitte zuerst mit Ctrl + C.

Mit supervisorctl update können Sie die neue Konfiguration von Solr aktivieren:

supervisorctl update
solr: added process group

Achtung: Falls Sie einen Fehler erhalten, muss zuerst einmalig "hpservices supervisord start" ausgeführt werden.

Genaueres zur Bedienung und zu den Möglichkeiten, die Ihnen mit der CSC zur Verfügung stehen, können Sie in der Anleitung zur Custom Service Control entnehmen.

Webproxy (Nginx) auf Solr-Administrations-Oberfläche

Möchten Sie nun Ihre Applikation über HTTP(s) zugänglich machen, müssen Sie Ihre Website im Hostpoint Control Panel so konfigurieren, dass der Webserver die Anfragen als Proxy an Solr weiterleitet.

Erstellen Sie in Ihrem Hostpoint Control Panel eine Website vom Typ «Nginx Proxy auf eigene Applikation»:

Website erstellen Port 8983 de

Server-Adresse und Port

Die Proxy-Funktion erwartet, dass Ihre Applikation auf die IPv4-Loopback-Adresse 127.0.0.1 hört und somit müssen Sie nur den Port angeben: 8983.

Zugriff mit Passwort schützen

Damit der Zugriff auf Ihre mit Nginx verknüpfte Website von extern mit Benutzernamen und Passwort geschützt ist, können Sie wie folgt eine htpasswd Datei erstellen:

htpasswd -c ~/app/solr/.htpasswd admin

Diese Datei muss im Hostpoint Control Panel unter «Webseiten» > « Bearbeiten» > «Sicherheit» > «Passwort-Schutz» hinterlegt werden.

Nach erfolgreicher Konfiguration können Sie nur noch mit Benutzernamen und Passwort auf Ihre Website zugreifen.

Weiterführende Informationen

Nutzen Sie dieses Formular für Feedback zur obigen Anleitung.
Für Supportanfragen verwenden Sie bitte dieses Formular.

 

 

© 2001 - Hostpoint AG
Cookie

Wir verwenden Cookies  🍪

We use Cookies  🍪

Nous utilisons des cookies  🍪

Utilizziamo dei cookie  🍪

Die digitalen Auftritte von Hostpoint (Website, Control Panel, Support Center etc.) verwenden Cookies. Diese werden dazu verwendet, um Daten über Besucherinteraktionen zu sammeln. Wenn Sie auf «Akzeptieren» klicken, stimmen Sie der Verwendung dieser Cookies für Werbezwecke, Website-Analyse und Support zu. Gewisse essenzielle Cookies sind jedoch für eine ordnungsgemässe Funktion dieser Seiten unerlässlich und können deshalb nicht deaktiviert werden. Auch ohne Ihre Zustimmung können gewisse Daten in anonymisierter Form für statistische Zwecke und zur Verbesserung unserer Websites verwendet werden. Bitte beachten Sie unsere Datenschutzerklärung.

Hostpoint's digital presences (website, Control Panel, Support Center, etc.) use cookies. These are used to collect data on visitor interactions. If you click “Accept”, you agree to the use of these cookies for advertising purposes, website analysis and support. However, certain cookies are essential for the proper functioning of these pages and therefore cannot be disabled. Even without your consent, certain data may be used in anonymized form for statistical purposes and to improve our websites. Please note our Privacy policy.

Le sites Web de Hostpoint (site Web, Control Panel, Centre d'assistance, etc.) utilisent des cookies. Ces cookies servent à collecter des données sur les interactions des visiteurs. En cliquant sur «Accepter», vous consentez à l’utilisation de ces cookies à des fins de publicité, d’analyse du site Web et d’assistance. Certains cookies essentiels sont cependant indispensables au bon fonctionnement de notre sites Web et ne peuvent donc pas être désactivés. Même sans votre consentement, certaines données peuvent être utilisées sous forme anonymisée à des fins statistiques et pour améliorer notre sites Web. Veuillez prendre connaissance de notre Déclaration de protection des données.

Le presenze digitali di Hostpoint (sito web, Pannello di controllo, Support Center, ecc.) utilizzano i cookie. Questi vengono utilizzati per raccogliere dati sulle interazioni dei visitatori. Facendo clic su «Accetta», acconsente all’utilizzo di questi cookie per scopi pubblicitari, di analisi del sito web e di supporto. Alcuni cookie essenziali sono tuttavia indispensabili per il corretto funzionamento di questi siti web e pertanto non possono essere disattivati. Anche senza il Suo consenso, determinati dati potrebbero essere utilizzati in forma anonima per fini statistici e per l’ottimizzazione dei nostri siti web. Si prega di tenere conto della nostra Dichiarazione per la pivacy.

Ablehnen
Decline
Refuser
Rifiuta
Akzeptieren
Accept
Accepter
Accetta