Apache Solr-Tutorial: Was ist Solr? Architektur und Installation

Was ist Apache Solr?

Apache Solr ist eine Open-Source-Suchserverplattform, die von der Apache Software Foundation in Java geschrieben wurde. Es ist hoch skalierbar und kann als Suchmaschine eingesetzt werden, um große Mengen textzentrierter Daten zu verarbeiten. Der Zweck der Verwendung von Apache Solr besteht darin, große Mengen an Webinhalten zu indizieren und zu durchsuchen und relevante Inhalte basierend auf Suchanfragen bereitzustellen.

Apache Solr ist ein REST-API-basierter HTTP-Wrapper rund um die Volltextsuchmaschine namens Apache Lucene. Ein invertierter Index ist eine Liste von Wörtern, in der jeder Worteintrag auf die Dokumente verweist, in denen er gespeichert ist. Auf diese Weise werden alle Dokumente für die Suchabfrage „guru99“ mit einer einfachen „Get“-Operation abgerufen.

Geschichte von Apache Solr

  • 1999: Doug Cutting veröffentlicht Lucene
  • 2004: Solr wurde bei CNET von Yonik Seeley als firmeninternes Projekt entwickelt
  • 2006: CNET veröffentlicht den Quellcode, indem es ihn an die Apache Software Foundation spendet
  • 2008: Solr 1.3 wurde mit erweiterten Suchfunktionen und Leistungsverbesserungen veröffentlicht
  • 2010: Fusion von Lucene und Solr
  • 2012: Solr Version 4.0 wurde mit der neuen Solr Cloud-Funktion veröffentlicht
  • 2016: Solr 6.0 wurde veröffentlicht und bietet Unterstützung für die Ausführung paralleler SQL-Abfragen

Funktionen von Apache Solr

Hier sind wichtige Funktionen von Apache Solr:

  • Automatischer Lastausgleich
  • Auf Standards basierende offene Schnittstellen – XML, JSON und HTTP
  • Empfehlungen und Zaubervorschläge werden unterstützt
  • Unterstützung für automatische Vervollständigung und geografische Suche
  • Integrierte Sicherheit für Authentifizierung und Autorisierung
  • Ermöglicht die Durchführung einer mehrsprachigen Stichwortsuche
  • Autovervollständigung/Typ-Ahead-Vorhersage
  • Stapel- und Streaming-Verarbeitung
  • Die Erstellung von Modellen für maschinelles Lernen ist einfach
  • Speziell optimiert für hohen Web-Traffic
  • Umfassende HTML-Admiration-Schnittstellen
  • Unterstützt sowohl die Schema- als auch die schemalose Konfiguration
  • Facettierte Suche und Filterung
  • Zentrale Konfiguration für den gesamten Cluster

Schlüsselbegriffe, die in Apache Solr verwendet werden

In diesem Solr-Suchmaschinen-Tutorial lernen wir nun die Schlüsselbegriffe kennen, die in Apache Solr verwendet werden:

Schlüsselbegriff Beschreibung
Solr-Kern Solr Core kann als Index von Texten und Feldern definiert werden, die aus allen Dokumenten abgeleitet werden. Eine Solr-Instanz kann einen oder mehrere Solr-Kerne haben.

Core = eine Instanz der Lucene Index + Solr-Konfiguration

Solr-Instanz Solr-Instanz ist eine Solr-Instanz, die in der Java Virtual Machine ausgeführt wird (JVM). Im Standalone-Modus bietet es nur eine Instanz, während Sie im Cloud-Modus eine oder mehrere Instanzen haben können.
Indizierung Die Indizierung ist eine Methode zum Hinzufügen von Dokumentinhalten zum Solr-Index. Apache Solr verwendet die Apache Lucene Inverted Index-Technik.
Dokument Es handelt sich um eine Gruppe von Feldern und ihren Werten. Ein Dokument ist eine grundlegende Dateneinheit, die in Apache Core gespeichert ist. Ein Apache-Kern kann ein oder mehrere Dokumente enthalten.
Feld Das Feld ist ein Schlüssel-Wert-Paar, das die tatsächlichen Daten in einem Dokument speichert. Der Schlüssel gibt den Feldnamen an und der Wert enthält die Felddaten. Ein Dokument kann ein oder mehrere Felder haben. Es wird von Apache Solr verwendet, um den Dokumentinhalt zu indizieren.
Erholsame APIs Für die Kommunikation mit Solr ist es nicht erforderlich, Java-Programmierung verwendet zu haben. Stattdessen bietet Apache Solr erholsame Dienstleistungen damit zu kommunizieren. Sie können Dokumente senden und Ergebnisse in verschiedenen Dateiformaten wie JSON, XML und CSV empfangen.
Volltextsuche Solr bietet Funktionen für die Volltextsuche wie Token, Phrasen, Rechtschreibprüfung, automatische Vervollständigung, Platzhalter usw.
Admin-Oberfläche Solr bietet eine benutzerfreundliche, funktionsgestützte Benutzeroberfläche. Über die Schnittstelle können Sie Aufgaben wie die Verwaltung von Protokollen sowie das Hinzufügen, Löschen, Aktualisieren und Durchsuchen von Dokumenten ausführen.
Textzentriert und nach Relevanz sortiert Apache Solr wird zum Durchsuchen von Textdokumenten verwendet und die Ergebnisse werden entsprechend der Anfrage des Benutzers geliefert.
Knoten In der Solr-Cloud wird jede einzelne Instanz als Knoten bezeichnet.
Gruppe Ein Cluster ist eine Sammlung von Knoten.
Kollektion Ein Cluster verfügt über einen logischen Index, der auch Sammlung genannt wird.
Scherbe Es handelt sich um einen kleinen Bereich der Sammlung, der einzelne oder mehrere Replikate des Index bietet.
Replik Ein Replikat ist eine Kopie eines Shards, der in einem Knoten ausgeführt wird.
Führungskräfte Es handelt sich um eine Replik des Shards, der die Anfragen der Solr Cloud für die restlichen Replikate sendet.

Apache Solr-Architektur

In diesem Tutorial zur Solr-Suche lernen wir nun die Apache Solr-Architektur kennen:

Apache Solr-Architektur
Apache Solr-Architektur

Apache Solr-Kompromisse folgenwing Komponenten

Abfrage

Der Abfrageparser analysiert die Abfragen, die Sie an Solr übergeben müssen. Es überprüft Ihre Abfrage, um syntaktische Fehler zu überprüfen. Nach dem Parsen der Abfragen wird es in ein Format übersetzt, das Lucene kennt.

Anforderungshandler

Die an Apache Solr gesendeten Anforderungen werden vom Anforderungshandler verarbeitet. Bei der Anfrage kann es sich um eine Abfrageanfrage oder eine Indexaktualisierungsanfrage handeln. Sie müssen den Anforderungshandler entsprechend Ihren Anforderungen auswählen. Um eine Anfrage an Solr weiterzuleiten, müssen Sie den Handler einem bestimmten URL-Endpunkt zuordnen.

Antwortschreiber

Ein Antwortschreiber generiert formatierte Ausgaben für Eingabeabfragen. Es unterstützt verschiedene Formate wie XML, JSON, CSV usw. Möglicherweise verfügen Sie über unterschiedliche Antwortschreiber für unterschiedliche Arten von Anfragen.

Update-Handler

Wenn Sie eine Aktualisierungsanforderung an Apache Solr senden, durchläuft diese eine Reihe von Plugins, Signaturen, Protokollierung und Indizierung. Dieser Vorgang wird als Update-Request-Prozessor bezeichnet. Der Update-Handler ist auch für Änderungen wie das Hinzufügen oder Löschen von Dateien usw. verantwortlich.

Apache Solr-Anwendungen

Anwendung Anwendungsbereich
Intranet-Portal
  • Einfacher Zugriff auf die Suche
  • Anwendungsstart
  • Benachrichtigung über Neuigkeiten und Veranstaltungen
  • Single Sign-On-Authentifizierung
Föderierter Client
  • Vereinfachte Darstellung
  • Durchsuchen Sie alle Inhalte
  • Nur autorisierter Zugang
  • Dokumentansichtwing
Instrumentendatensätze
  • Optimiert für Wissenschaftler
  • Datenabhängige Menüs
  • Spezialisierte Gitterfilter
Zulassungsdokumente
  • Entwickelt für Forscher
  • Umfangreicher Zugriff auf Metadaten
  • Exporte von Tabellenkalkulationen
  • Dokumentbeschleuniger anzeigen
Eingebettet in die PLM-Anwendung
  • Bietet ein besseres Sucherlebnis, als ein RDBMS bieten könnte
  • Late-Binding-Sicherheitsmodell
  • Dokumentieren Sie Aktionen, die in der Symbolleiste angezeigt werden

Wie installiere ich Apache Solr?

Schritt 1) Öffnen Sie die Website und fahren Sie mit dem Abonnieren fort
Gehe dahin Link, Klicken Sie auf „Weiter zum Abonnieren“.

Installieren Sie Apache Solr

Schritt 2) Klicken Sie auf Bedingungen akzeptieren
Klicken Sie auf der nächsten Seite auf „Bedingungen akzeptieren“.

Installieren Sie Apache Solr

Schritt 3) Warte eine Zeit lang
Als nächstes warten Sie einige Zeit und dann wird die Anfrage nach einiger Zeit angenommen.

Installieren Sie Apache Solr

Schritt 4) Weiter zur Konfiguration
Aktualisieren Sie die Seite und klicken Sie auf „Weiter zur Konfiguration“.

Installieren Sie Apache Solr

Schritt 5) Fahren Sie mit dem Start fort
Behalten Sie die Standardeinstellungen bei und klicken Sie auf „Weiter zum Starten“.

Installieren Sie Apache Solr

Schritt 6) Behalten Sie die Standardeinstellungen bei
Behalten Sie auf der nächsten Seite die Standardeinstellungen bei

  • Stellen Sie sicher, dass Sie über die PEM-Datei des Schlüssels verfügen
  • Klicken Sie auf „Starten“

Installieren Sie Apache Solr

Sie sehen diese Erfolgsmeldung

Installieren Sie Apache Solr

Schritt 7) Beachten Sie das öffentliche DNS
Notieren Sie sich in der EC2-Konsole den öffentlichen DNS Ihrer Instanz

Installieren Sie Apache Solr

Schritt 8) Öffnen Sie die folgende URL
Um auf Solr zuzugreifen, verwenden Sie einfach die URL

http://publicdns:8983

in unserem Fall wird es

http://ec2-18-221-175-53.us-east-2.compute.amazonaws.com:8983

Installieren Sie Apache Solr

Hinweis: Wenn Sie Probleme beim Zugriff auf die Instanz haben, ändern Sie die eingehenden und ausgehenden Regeln in Ihrer Instanz, um den gesamten Datenverkehr zuzulassen, wie im folgenden Solr-Abfragebeispiel gezeigt:

Installieren Sie Apache Solr

Elasticsearch vs. Apache Solr

Parameter Apache Solr Elastische Suche
Natur Es ist ein Open-Source-Projekt. Kein Open-Source-Projekt.
Statischer Status Statisch in shema.xml Statisch in elasticsearch.yml
Format XML, CSV, JSON Nur JSON
Index Kann während der Laufzeit mit Collection/Core Reload neu geladen werden Wird während der Index-/Typerstellung mit einem REST-Aufruf definiert
Dokumentation Es ist gut dokumentiert. Es ist schlecht dokumentiert.
Splitter spalten Möglich Nicht möglich

Vorteile von Apache Solr

  • Hilft Ihnen, die Zeit zu verkürzen, die zum Auffinden von Informationen benötigt wird
  • Es ist eine schnelle, einfache, leistungsstarke und flexible Suchmaschine
  • Hilft Ihnen, Ihre Produkte und Dienstleistungen zugänglicher zu machen
  • Erhöhen Sie die Ausgaben Ihrer Kunden für eine Webanwendung
  • Hilft Ihnen, die Benutzererfahrung der Webanwendung zu verbessern, um Umsatz und Gewinn zu steigern
  • Umfassende HTML-basierte Verwaltungsoberfläche
  • Flexibel und anpassbar mit XML-Konfiguration
  • Erweiterbare Plugin-Architektur
  • Hochskalierbare, robuste und fehlertolerante Suchmaschine
  • Unterstützt verteilte Architektur, Shading, Replikation, Clustering und Multi-Node-Architektur

Nachteile von Apache Solr

  • Es handelt sich nicht um einen ACID-kompatiblen Datenspeicher
  • Als primärer Datenspeicher ist es nicht sinnvoll. Nur als sekundärer Datenspeicher nützlich
  • Bietet keine Unterstützung für Transaktionen und verteilte Transaktionen
  • Unterstützt Joins und Com nichtplex Abfragen
  • Nicht optimal für normalisierte Daten

Zusammenfassung

  • Apache Solr ist eine Open-Source-Lösung REST-API basierte Suchserver
  • Apache Solr wurde bei CNET von Yonik Seeley als teilweise unternehmensinternes Projekt entwickelt
  • Apache Solr bietet Funktionen wie automatische Vervollständigung und geografische Suche
  • Solr Core, Solr Instance, Indexing, Document, Restful APIs, Volltextsuche, Admin Interface usw. sind einige Schlüsselbegriffe, die in Apache Solr verwendet werden
  • Abfrage-, Request-Handler, Request-Writer und Update-Handler sind einige der wichtigen Komponenten von Apache Solr
  • Intranet-Portal, Federated Client, Instrumentendatensätze, behördliche Dokumente und eingebettet in PLM-Anwendungen sind nützliche Apache Solr-Anwendungen
  • Apache Solr ist ein gut dokumentierter Compares zur elastischen Suche, die schlecht dokumentiert ist
  • Der größte Vorteil von Apache Solr besteht darin, dass es Ihnen hilft, den Zeitaufwand für die Suche nach Informationen zu reduzieren
  • Der Hauptnachteil dieser Anwendung ist, dass es sich nicht um einen ACID-kompatiblen Datenspeicher handelt