Wie man Solr 6 unter Ubuntu 16.04 installiert und konfiguriert

Was ist Apache Solr? Apache Solr ist eine in Java geschriebene Open-Source-Unternehmenssuchplattform, mit der Sie benutzerdefinierte Suchmaschinen erstellen können, die Datenbanken, Dateien und Websites indizieren. Es hat Backend-Support für Apache Lucene. Es kann z.B. für die Suche in mehreren Websites verwendet werden und kann Empfehlungen für die gesuchten Inhalte anzeigen. Solr verwendet eine XML-basierte (Extensible Markup Language) Abfrage- und Ergebnissprache. Für Python, Ruby und JSON (Javascript Object Notation) gibt es APIs (Applications program interfaces).

Einige andere Funktionen, die Solr bietet, sind:

  • Volltextsuche.
  • Generierung und Hervorhebung von Snippets.
  • Benutzerdefinierte Dokumentenbestellung/Rangliste.
  • Zauberempfehlungen.

Dieses Tutorial zeigt Ihnen, wie Sie die neueste Solr-Version auf Ubuntu 16.04 LTS installieren. Die Schritte werden höchstwahrscheinlich auch mit späteren Ubuntu-Versionen funktionieren.

Aktualisieren Sie Ihr System

Verwenden Sie einen Nicht-Root-Sudo-Benutzer, um sich bei Ihrem Ubuntu-Server anzumelden. Durch diesen Benutzer müssen Sie alle Schritte ausführen und später den Solr verwenden.

Um Ihr System zu aktualisieren, führen Sie den folgenden Befehl aus, um Ihr System mit den neuesten Patches und Updates zu aktualisieren.

sudo apt-get update && apt-get upgrade -y

Installieren Sie Ubuntu System Updates.

Einrichten der Java-Laufzeitumgebung

Solr ist eine Java-Anwendung, daher muss zuerst die Java-Laufzeitumgebung installiert werden, um Solr einzurichten.

Wir müssen die Eigenschaften der Python-Software installieren, um die neueste Java 8 zu installieren, und den folgenden Befehl ausführen, um die Software zu installieren.

root@server1:~# sudo apt-get install python-software-properties
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python2.7 python2.7-minimal
Suggested packages:
python-doc python-tk python-apt-dbg python-apt-doc libcurl4-gnutls-dev
python-pycurl-dbg python-pycurl-doc python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
libpython-stdlib libpython2.7-minimal libpython2.7-stdlib python python-apt
python-minimal python-pycurl python-software-properties python2.7
python2.7-minimal
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 4,070 kB of archives.
After this operation, 17.3 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Drücken Sie Y, um fortzufahren.

Install Python.

Nachdem Sie den Befehl ausgeführt haben, fügen Sie das webupd8team Java PPA-Repository in Ihrem System durch Ausführen hinzu:

sudo add-apt-repository ppa:webupd8team/java

Drücken Sie bei Bedarf[ENTER]. Jetzt können Sie die neueste Version von Java 8 einfach mit apt installieren.

Aktualisieren Sie zunächst die Paketlisten, um die verfügbaren Pakete aus dem neuen PPA zu holen:

sudo apt-get update

Update Ubuntu 16.04

Installieren Sie dann die neueste Version von Oracle Java 8 mit diesem Befehl:

sudo apt-get install oracle-java8-installer
root@server1:~# sudo apt-get install oracle-java8-installer
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
 binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 x11-common xfonts-encodings xfonts-utils
Suggested packages:
 binutils-doc binfmt-support visualvm ttf-baekmuk | ttf-unfonts | ttf-unfonts-core ttf-kochi-gothic | ttf-sazanami-gothic ttf-kochi-mincho | ttf-sazanami-mincho ttf-arphic-uming firefox
 | firefox-2 | iceweasel | mozilla-firefox | iceape-browser | mozilla-browser | epiphany-gecko | epiphany-webkit | epiphany-browser | galeon | midbrowser | moblin-web-browser | xulrunner
 | xulrunner-1.9 | konqueror | chromium-browser | midori | google-chrome
The following NEW packages will be installed:
 binutils gsfonts gsfonts-x11 java-common libfontenc1 libxfont1 oracle-java8-installer x11-common xfonts-encodings xfonts-utils
0 upgraded, 10 newly installed, 0 to remove and 3 not upgraded.
Need to get 6,498 kB of archives.
After this operation, 20.5 MB of additional disk space will be used.
Do you want to continue? [Y/n]

Drücken Sie Y, um fortzufahren.

Sie MÜSSEN der unter http://java.com/license verfügbaren Lizenz zustimmen, wenn Sie Oracle JDK verwenden möchten, indem Sie auf die Schaltfläche OK klicken.

Java-Lizenz akzeptieren

Herunterladen von Java

Das Paket installiert eine Art Metainstaller, der dann die Binärdateien direkt von Oracle herunterlädt. Überprüfen Sie nach der Installation die installierte Java-Version, indem Sie den folgenden Befehl ausführen

java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

Jetzt haben Sie Java 8 installiert und wir gehen zum nächsten Schritt über.

Installation der Solr-Anwendung

Solr kann auf verschiedene Weise auf Ubuntu installiert werden, in diesem Artikel werde ich Ihnen zeigen, wie man das neueste Paket aus dem Quellcode installiert.

Wir beginnen mit dem Herunterladen der Solr-Distribution. Zuerst finden Sie die neueste Version des verfügbaren Pakets von ihrer Webseite, kopieren den Link und laden ihn mit dem Befehl wget herunter.

Für dieses Setup verwenden wirhttp://www.us.apache.org/dist/lucene/solr/6.0.1/

cd /tmp
wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
root@server1:/tmp# wget http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
--2016-06-03 11:31:54-- http://www.us.apache.org/dist/lucene/solr/6.0.1/solr-6.0.1.tgz
Resolving www.us.apache.org (www.us.apache.org)... 140.211.11.105
Connecting to www.us.apache.org (www.us.apache.org)|140.211.11.105|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 137924507 (132M) [application/x-gzip]
Saving to: ‘solr-6.0.1.tgz’

Führen Sie nun den folgenden Befehl aus, um die Service-Installationsdatei zu extrahieren:

tar xzf solr-6.0.1.tgz solr-6.0.1/bin/install_solr_service.sh --strip-components=2

Und installieren Sie Solr als Dienst mit dem Skript:

sudo ./install_solr_service.sh solr-6.0.1.tgz

Die Ausgabe wird ähnlich sein wie diese:

 root@server1:/tmp# sudo ./install_solr_service.sh solr-6.0.1.tgz
id: ‘solr’: no such user
Creating new user: solr
Adding system user `solr' (UID 111) ...
Adding new group `solr' (GID 117) ...
Adding new user `solr' (UID 111) with group `solr' ...
Creating home directory `/var/solr' ...

Extracting solr-6.0.1.tgz to /opt

Installing symlink /opt/solr -> /opt/solr-6.0.1 …

Installing /etc/init.d/solr script …

Installing /etc/default/solr.in.sh …

? solr.service – LSB: Controls Apache Solr as a Service
Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 5s ago
Docs: man:systemd-sysv-generator(8)
Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)

Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service…
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.
Service solr installed.

Verwenden Sie diesen Befehl, um den Status des Dienstes zu überprüfen.

service solr status

Du solltest eine Ausgabe sehen, die mit dieser beginnt:

root@server1:/tmp# service solr status
? solr.service - LSB: Controls Apache Solr as a Service
 Loaded: loaded (/etc/init.d/solr; bad; vendor preset: enabled)
 Active: active (exited) since Fri 2016-06-03 11:37:05 CEST; 39s ago
 Docs: man:systemd-sysv-generator(8)
 Process: 20929 ExecStart=/etc/init.d/solr start (code=exited, status=0/SUCCESS)

Jun 03 11:36:43 server1 systemd[1]: Starting LSB: Controls Apache Solr as a Service…
Jun 03 11:36:44 server1 su[20934]: Successful su for solr by root
Jun 03 11:36:44 server1 su[20934]: + ??? root:solr
Jun 03 11:36:44 server1 su[20934]: pam_unix(su:session): session opened for user solr by (uid=0)
Jun 03 11:37:05 server1 solr[20929]: [313B blob data]
Jun 03 11:37:05 server1 solr[20929]: Started Solr server on port 8983 (pid=20989). Happy searching!
Jun 03 11:37:05 server1 solr[20929]: [14B blob data]
Jun 03 11:37:05 server1 systemd[1]: Started LSB: Controls Apache Solr as a Service.

Erstellen einer Solr-Suchsammlung:

Mit Solr können wir mehrere Sammlungen erstellen. Führen Sie den angegebenen Befehl aus, nennen Sie den Namen der Sammlung (hier Gettingstarted) und geben Sie ihre Konfigurationen an.

sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"
root@server1:/tmp# sudo su - solr -c "/opt/solr/bin/solr create -c gettingstarted -n data_driven_schema_configs"

Copying configuration to new core instance directory:
/var/solr/data/gettingstarted

Creating new core ‚gettingstarted‘ using command:
http://localhost:8983/solr/admin/cores?action=CREATE&name=gettingstarted&instanceDir=gettingstarted

{
„responseHeader“:{
„status“:0,
„QTime“:4427},
„core“:“gettingstarted“}

Das neue Kernverzeichnis für unsere erste Kollektion wurde erstellt. Um die Standardschemadatei anzuzeigen, gehen Sie zu:

/opt/solr/server/solr/configsets/data_driven_schema_configs/conf

Verwenden der Solr-Webschnittstelle

Der Apache Solr ist nun auf dem Standard-Port 8983 verfügbar. Die Admin-Benutzeroberfläche sollte unter http://your_server_ip:8983/solr erreichbar sein. Der Port sollte von Ihrer Firewall erlaubt sein, die Links auszuführen.

Zum Beispiel:

http://192.168.1.100:8983/solr/

Die Solr-Weboberfläche.

Um die Details der ersten Sammlung zu sehen, die wir zuvor erstellt haben, wählen Sie die Sammlung „Erste Schritte“ im linken Menü.

Details zu unserer Datenerhebung.

Nachdem Sie die Sammlung „Erste Schritte“ ausgewählt haben, wählen Sie im linken Menü Dokumente aus. Dort können Sie reale Daten im JSON-Format eingeben, die von Solr durchsucht werden können. Um weitere Daten hinzuzufügen, kopieren und fügen Sie das folgende Beispiel JSON in das Dokumentenfeld ein:

{
 "id": 1,
 "book_title": "My First Book",
 "published": 1985,
 "description": "All about Linux"
}

Klicken Sie nach dem Hinzufügen der Daten auf die Schaltfläche Dokument senden.

Senden Sie ein Dokument an Solr.

Status: success
Response:

{
„responseHeader“: {
„status“: 0,
„QTime“: 189
}
}

Jetzt können wir auf der linken Seite auf Query klicken und dann auf Execute Query,

Ausführen einer Abfrage in Solr.

Wir werden so etwas sehen:

{
  "responseHeader":{
    "status":0,
    "QTime":24,
    "params":{
      "q":"*:*",
      "indent":"on",
      "wt":"json",
      "_":"1464947017056"}},
  "response":{"numFound":1,"start":0,"docs":[
      {
        "id":"1",
        "book_title":["My First Book"],
        "published":[1985],
        "description":["All about Linux"],
        "_version_":1536108205792296960}]
  }}

Image-Download dieses Tutorials für virtuelle Maschinen

Dieses Tutorial ist als fertiges Virtual Machine Image im ovf/ova-Format für Howtoforge-Abonnenten verfügbar. Das VM-Format ist kompatibel mit VMWare und Virtualbox. Das Image der virtuellen Maschine verwendet die folgenden Anmeldedaten:

SSH / Shell Anmeldung

Benutzername:
Administrator-Passwort: howtoforge

Dieser Benutzer hat die Rechte sudo.

Bitte ändern Sie alle oben genannten Passwörter, um die virtuelle Maschine zu schützen.

Fazit

Nach der erfolgreichen Installation des Solr Web Interface auf Ubuntu können Sie nun die Daten einfügen oder mit der Solr API und dem Web Interface abfragen.

Das könnte Dich auch interessieren …