Apache Solr

Apache Solr-Tutorial

Apache Solr-Tutorial
In dieser Lektion werden wir sehen, wie wir Apache Solr zum Speichern von Daten verwenden und verschiedene Abfragen darauf ausführen können.

Was ist Apache Solr

Apache Solr ist eine der beliebtesten NoSQL-Datenbanken, mit der Daten gespeichert und nahezu in Echtzeit abgefragt werden können. Es basiert auf Apache Lucene und ist in Java geschrieben. Genau wie Elasticsearch unterstützt es Datenbankabfragen über REST-APIs. Dies bedeutet, dass wir einfache HTTP-Aufrufe verwenden und HTTP-Methoden wie GET, POST, PUT, DELETE usw. verwenden können. auf Daten zugreifen. Es bietet auch eine Option zum Abrufen von Daten in Form von XML oder JSON über die REST-APIs.

Architektur: Apache Solr

Bevor wir mit Apache Solr arbeiten können, müssen wir die Komponenten verstehen, die Apache Solr ausmachen. Schauen wir uns einige Komponenten an, die es enthält:

Apache Solr-Architektur

Beachten Sie, dass in der obigen Abbildung nur die Hauptkomponenten für Solr gezeigt werden. Lassen Sie uns auch hier ihre Funktionsweise verstehen:

Erste Schritte mit Apache Solr

Um Apache Solr verwenden zu können, muss es auf dem Computer installiert sein. Lesen Sie dazu Apache Solr unter Ubuntu installieren.

Stellen Sie sicher, dass Sie über eine aktive Solr-Installation verfügen, wenn Sie Beispiele ausprobieren möchten, die wir später in der Lektion vorstellen, und die Admin-Seite ist auf localhost erreichbar:

Apache Solr-Homepage

Einfügen von Daten

Betrachten wir zunächst eine Sammlung in Solr, die wir als linux_hint_collection. Diese Sammlung muss nicht explizit definiert werden, da beim Einfügen des ersten Objekts die Sammlung automatisch erstellt wird. Versuchen wir unseren ersten REST-API-Aufruf, um ein neues Objekt in die Sammlung namens einzufügen linux_hint_collection.

Einfügen von Daten

curl -X POST -H 'Inhaltstyp: Anwendung/json'
'http://localhost:8983/solr/linux_hint_collection/update/json/docs' --data-binary '

"id": "iduye",
"name": "Shubham"
'

Folgendes erhalten wir mit diesem Befehl zurück:

Befehl zum Einfügen von Daten in Solr

Daten können auch über die zuvor betrachtete Solr-Homepage eingefügt werden. Versuchen wir es hier, damit die Dinge klar sind:

Daten über Solr-Homepage einfügen

Da Solr eine hervorragende Möglichkeit zur Interaktion mit HTTP-RESTful-APIs bietet, werden wir von nun an die DB-Interaktion mit denselben APIs demonstrieren und uns nicht mehr viel auf das Einfügen von Daten über die Solr-Webseite konzentrieren.

Alle Sammlungen auflisten

Wir können alle Sammlungen in Apache Solr auch mit einer REST-API auflisten. Hier ist der Befehl, den wir verwenden können:

Alle Sammlungen auflisten

curl http://localhost:8983/solr/admin/collections?Aktionen=LIST&wt=json

Sehen wir uns die Ausgabe für diesen Befehl an:

Wir sehen hier zwei Kollektionen, die in unserer Solr-Installation vorhanden sind.

Objekt nach ID abrufen

Lassen Sie uns nun sehen, wie wir Daten aus der Solr-Sammlung mit einer bestimmten ID abrufen können. Hier ist der REST-API-Befehl:

Objekt nach ID abrufen

curl http://localhost:8983/solr/linux_hint_collection/get?id=iduye

Folgendes erhalten wir mit diesem Befehl zurück:

Alle Daten abrufen

In unserer letzten REST-API haben wir Daten mit einer bestimmten ID abgefragt. Dieses Mal erhalten wir alle Daten, die in unserer Solr-Sammlung vorhanden sind.

Objekt nach ID abrufen

curl http://localhost:8983/solr/linux_hint_collection/select?q=*:*

Folgendes erhalten wir mit diesem Befehl zurück:

Beachten Sie, dass wir '*:*' im Abfrageparameter verwendet haben. Dies gibt an, dass Solr alle in der Sammlung vorhandenen Daten zurückgeben soll. Selbst wenn wir festgelegt haben, dass alle Daten zurückgegeben werden sollen, versteht Solr, dass die Sammlung möglicherweise große Datenmengen enthält und so, es werden nur die ersten 10 Dokumente zurückgegeben.

Alle Daten löschen

Bisher verwendeten alle APIs, die wir ausprobiert haben, ein JSON-Format. Dieses Mal versuchen wir es mit dem XML-Abfrageformat. Die Verwendung des XML-Formats ist JSON sehr ähnlich, da XML auch selbstbeschreibend ist.

Versuchen wir einen Befehl zum Löschen aller Daten, die wir in unserer Sammlung haben.

Alle Daten löschen

curl "http://localhost:8983/solr/linux_hint_collection/update?commit=true" -H "Content-Type: text/xml" --data-binary "*:*"

Folgendes erhalten wir mit diesem Befehl zurück:

Alle Daten mit XML-Abfrage löschen

Wenn wir nun erneut versuchen, alle Daten abzurufen, sehen wir, dass jetzt keine Daten verfügbar sind:

Alle Daten abrufen

Gesamtobjektanzahl

Als letzten CURL-Befehl sehen wir uns einen Befehl an, mit dem wir die Anzahl der Objekte finden können, die in einem Index vorhanden sind. Hier ist der Befehl dafür:

Gesamtobjektanzahl

curl http://localhost:8983/solr/linux_hint_collection/query?Debug=Abfrage&q=*:*

Folgendes erhalten wir mit diesem Befehl zurück:

Anzahl der Objekte zählen

Fazit

In dieser Lektion haben wir uns angesehen, wie wir Apache Solr verwenden und Abfragen mit curl sowohl im JSON- als auch im XML-Format übergeben können. Wir haben auch gesehen, dass das Solr-Admin-Panel genauso nützlich ist wie alle Curl-Befehle, die wir studiert haben.

AppyMouse On-Screen Trackpad und Mauszeiger für Windows Tablets
Tablet-Benutzer vermissen oft den Mauszeiger, insbesondere wenn sie die Laptops gewohnt sind. Die Touchscreen-Smartphones und -Tablets bieten viele Vo...
Mittlere Maustaste funktioniert nicht unter Windows 10
Das mittlere Maustaste hilft Ihnen beim Scrollen durch lange Webseiten und Bildschirme mit vielen Daten. Wenn das aufhört, werden Sie am Ende die Tast...
So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...