Was ist Apache Solr
Apache Solr ist eine der beliebtesten NOSQL-Datenbanken, mit der Daten gespeichert und in naher Echtzeit abfragen 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, Puting, Löschen usw. verwenden können. Zugriff auf Daten. Es bietet auch die Option, Daten in Form von XML oder JSON über die Rest -APIs zu erhalten.
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 hat:
Apache Solr Architektur
Beachten Sie, dass in der obigen Abbildung nur wichtige Komponenten für SolR gezeigt sind. Lassen Sie uns auch hier ihre Funktionalität verstehen:
Erste Schritte mit Apache Solr
Um Apache Solr zu verwenden, muss es auf dem Computer installiert werden. Lassen Sie dazu Apache Solr auf Ubuntu lesen.
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 präsentieren, und die Administratorseite ist auf Localhost erreichbar:
Apache Solr Homepage
Daten einfügen
Betrachten wir zu Beginn eine Sammlung in Solr, die wir als als nennen wir als lINUX_HINT_Collection. Es ist nicht erforderlich, diese Sammlung explizit so zu definieren, wie beim Einfügen des ersten Objekts die Sammlung automatisch erstellt wird. Versuchen wir unseren ersten REST -API -Anruf, um ein neues Objekt in die genannte Sammlung einzufügen lINUX_HINT_Collection.
Daten einfügen
curl -x post -h 'content -type: application/json'
'http: // localhost: 8983/solr/linux_hint_collection/update/json/docs'--data-binary ''
"ID": "IDUYE",
"Name": "Shubham"
'
Hier ist, was wir mit diesem Befehl zurückbekommen:
Befehl zum Einfügen von Daten in Solr einfügen
Daten können auch mit der Solr -Homepage eingefügt werden, die wir uns zuvor angesehen haben. Versuchen wir es hier, damit die Dinge klar sind:
Fügen Sie Daten über Solr -Homepage ein
Da SolR eine hervorragende Interaktion mit HTTP -Rastful -APIs hat, werden wir von nun an die DB -Interaktion mit denselben APIs nachweisen und uns nicht viel darauf konzentrieren, Daten über die Solr -Webseite einzuführen.
Listen Sie alle Sammlungen auf
Wir können alle Sammlungen in Apache SolR auch mit einer REST -API auflisten. Hier ist der Befehl, den wir verwenden können:
Listen Sie alle Sammlungen auf
curl http: // localhost: 8983/solr/admin/kollektionen?Aktionen = Liste & wt = json
Sehen wir uns die Ausgabe für diesen Befehl an:
Wir sehen hier zwei Sammlungen, die in unserer Solr -Installation existieren.
Objekt durch ID erhalten
Lassen Sie uns nun sehen, wie wir Daten aus der Solr -Sammlung mit einer bestimmten ID erhalten können. Hier ist der Befehl rest api:
Objekt durch ID erhalten
curl http: // localhost: 8983/solr/linux_hint_collection/get?id = iduye
Hier ist, was wir mit diesem Befehl zurückbekommen:
Holen Sie sich alle Daten
In unserer letzten REST -API haben wir Daten mit einer bestimmten ID befragt. Dieses Mal werden wir alle Daten in unserer Solr -Sammlung präsentieren lassen.
Objekt durch ID erhalten
curl http: // localhost: 8983/solr/linux_hint_collection/select?q =*:*
Hier ist, was wir mit diesem Befehl zurückbekommen:
Beachten Sie, dass wir im Abfrageparameter '*:*' verwendet haben. Dies gibt an, dass SolR alle in der Sammlung vorhandenen Daten zurückgeben sollte. Selbst wenn wir angegeben haben, dass alle Daten zurückgegeben werden sollten, versteht Solr, dass die Sammlung möglicherweise eine große Datenmenge enthält und so, Es wird nur die ersten 10 Dokumente zurückgeben.
Alle Daten löschen
Bisher haben alle APIs, die wir ausprobiert haben, ein JSON -Format verwendet. Diesmal versuchen wir das XML -Abfrageformat. Die Verwendung von XML-Format ist JSON sehr ähnlich, da XML ebenfalls selbstdekriptiv ist.
Versuchen wir einen Befehl, um alle Daten zu löschen, 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-binär"*:*"
Hier ist, was wir mit diesem Befehl zurückbekommen:
Löschen Sie alle Daten mithilfe der XML -Abfrage
Wenn wir jetzt erneut versuchen, alle Daten zu erhalten, werden wir feststellen, dass jetzt keine Daten verfügbar sind:
Holen Sie sich alle Daten
Gesamtobjektzahl
Für einen endgültigen Curl -Befehl sehen wir einen Befehl, mit dem wir die Anzahl der Objekte finden können, die in einem Index vorhanden sind. Hier ist der Befehl für dasselbe:
Gesamtobjektzahl
curl http: // localhost: 8983/solr/linux_hint_collection/query?debug = query & q =*:*
Hier ist, was wir mit diesem Befehl zurückbekommen:
Anzahl der Objekte zählen
Abschluss
In dieser Lektion haben wir uns angesehen, wie wir Apache Solr verwenden können und Abfragen mit Curl sowohl im JSON- als auch im XML -Format übergeben können. Wir haben auch gesehen, dass das Solr -Administratorfeld auf die gleiche Weise wie alle von uns untersuchten Curl -Befehle nützlich ist.