Heim Backend-Entwicklung PHP-Tutorial Verwenden von Solarium mit Solr für die Suche - Setup

Verwenden von Solarium mit Solr für die Suche - Setup

Feb 21, 2025 am 09:00 AM

Using Solarium with SOLR for Search - Setup

Kernpunkte

  • Apache Solr ist eine leistungsstarke Suchplattform, die Suchstudien mit Volltext, Facettensuche, Ergebnis-Hervorhebung und Geospatial-Suche bietet. Es kann über HTTP in jede Programmiersprache integriert werden, und für PHP -Benutzer vereinfacht das Solarium -Projekt diese Integration.
  • Solr wird als Webdienst ausgeführt und erstellt Suchindizes für Dokumente. Es ermöglicht Volltextensuche und fügt dem indizierten Suchdokument zusätzliche Informationen hinzu. Eine der nützlichsten Funktionen ist die Facettensuche, mit der Benutzer die Suchergebnisse filtern können.
  • Installieren von SolR beinhaltet die Einstellung von Ihrem Betriebssystem, das Starten des Servers und die Überprüfung der Installation über die Verwaltungsschnittstelle. Das Muster definiert die Felder des indizierten Dokuments und kann durch Kopieren des Standardverzeichnisses und das Anpassen festgelegt werden.
  • Solarium ist eine Client -Bibliothek für Solr, die den Prozess der Verbindung mit Solr, Ausführung von Abfragen und Verarbeitungsantworten vereinfacht. Es kann mit Composer (PHP -Abhängigkeitsmanagement -Tool) installiert werden. Nach der Installation müssen Sie es konfigurieren, um eine Verbindung zum Solr -Server herzustellen.

Apache Solr ist eine Suchplattform auf Unternehmensebene auf Apache Lucene. Es bietet leistungsstarke Volltext-Suche und erweiterte Funktionen wie Facettensuche, Ergebnis-Hervorhebung und Geospatial-Suche. Es hat eine extrem hohe Skalierbarkeit und Fehlertoleranz.

Es wird berichtet, dass bekannte Websites wie Digg, Netflix, Instagram und Whitehouse.gov Solr verwenden, um ihre Suchfunktionen (Quelle) zu unterstützen.

Obwohl Solr in Java geschrieben ist, ist es über HTTP zugänglich und kann daher in jede Programmiersprache integriert werden, die Sie mögen. Wenn Sie PHP verwenden, erleichtert das Solarium -Projekt die Integration, die eine Abstraktionsebene über den zugrunde liegenden Anforderungen liefert, sodass Sie Solr genauso verwenden können, wie Sie es mit einer nativen Implementierung, die in Ihrer Anwendung ausgeführt wird, ausführen würde.

In dieser Artikelreihe werde ich nebeneinander Solr- und Solarium -Unternehmen einführen. Wir werden zuerst Solr installieren und konfigurieren und einen Suchindex erstellen. Wir werden uns dann ansehen, wie Dokumente indexiert werden können. Als nächstes werden wir eine grundlegende Suche implementieren und sie dann mit einigen erweiterten Funktionen wie Facettensuche, Ergebnis -Hervorhebung und Vorschlägen erweitern.

Im nächsten Prozess werden wir eine einfache Anwendung erstellen, um nach Filmensammlungen zu suchen. Sie können den Quellcode hier erhalten oder die Online -Demo hier anzeigen.

Grundlegende Konzepte und Operationen

Bevor wir uns mit Implementierungsdetails befassen, lohnt es sich, einige grundlegende Konzepte und den Gesamtprozess zu verstehen.

Solr ist eine Java -Anwendung, die als Webdienst ausgeführt wird, normalerweise in Servlet -Containern wie Tomcat, Glassfish oder JBoss. Sie können es mit XML-, JSON-, CSV- oder Binärformaten manipulieren und über HTTP abfragen, sodass Sie jede Programmiersprache für die Anwendungsentwicklung verwenden können. Die Solariumbibliothek bietet jedoch eine Abstraktionsebene, mit der Sie Methoden aufrufen können, als ob SolR eine native Implementierung wäre. In diesem Tutorial werden wir Solr auf derselben Maschine wie unsere Anwendung ausführen, aber in realen Anwendungen können es sich auf einem separaten Server befinden.

Solr erstellt einen Suchindex für ein Dokument. Dies spiegelt normalerweise das wider, woran wir im wirklichen Leben denken könnten; Das Dokument kann jedoch auch jedes Objekt darstellen, das für Ihre Anwendung - das Produkt, die Stelle, das Ereignis - oder in unserer Beispielanwendung, einen Film, anwendbar ist.

Mit Solr können Sie im grundlegendsten Fall Volltext-Suchen in Ihrem Dokument durchführen. Denken Sie an Suchmaschinen. Sie können nur mit SQL-ähnlichen Klausel so weit gehen.

Sie können auch zusätzliche Informationen an indizierte Suchdokumente anhängen, die nicht unbedingt durch textbasierte Suchvorgänge erfasst werden. wurde der Datenbank hinzugefügt.

Die Gesichtsbehandlung ist eine der nützlichsten Merkmale von Solr. Wenn Sie jemals online eingekauft haben, können Sie übergeordnete Suchvorgänge gesehen haben. Nach der Suche nach einem Online -Buchladen können Sie beispielsweise Filter verwenden, um die Ergebnisse auf Bücher eines bestimmten Autors, eines bestimmten Typs oder eines bestimmten Formats zu beschränken.

Solr -Instanzen werden mit einem oder mehreren Kernen ausgeführt. Der Kern ist eine Sammlung von Konfigurationen und Indizes, und jeder Kern hat ein eigenes Muster. In der Regel ist eine einzelne Instanz spezifisch für eine bestimmte Anwendung. Da verschiedene Arten von Inhalten sehr unterschiedliche Strukturen und Informationen haben können - beispielsweise unter Berücksichtigung von Unterschieden zwischen Produkten, Artikeln und Benutzern - haben Anwendungen häufig mehrere Kerne in einer Solr -Instanz.

Solr installieren

Ich werde Anweisungen zur Einrichtung von Solr auf Mac angeben.

Der einfachste Weg, Solr auf Ihrem Mac zu installieren, besteht darin, Homebrew zu verwenden:

brew update
brew install solr
Nach dem Login kopieren
Nach dem Login kopieren
Dies installiert die Software in einem Verzeichnis wie

, abhängig von der Version der von Ihnen verwendeten Software. /usr/local/Cellar/solr/4.5.0

, um den Server mit dem bereitgestellten Java -Archiv (JAR) zu starten:

cd /usr/local/Cellar/solr/4.5.0/libeexec/example
java -jar start.jar
Nach dem Login kopieren
Nach dem Login kopieren
Um zu überprüfen, ob die Installation erfolgreich ist, greifen Sie in Ihrem Webbrowser auf die Verwaltungsschnittstelle zu:

<code>http://localhost:8983/solr/</code>
Nach dem Login kopieren
Wenn Sie ein Admin -Dashboard mit dem Apache Solr -Logo in der oberen linken Ecke sehen, ist der Server in Betrieb.

Tipp: So können Sie Solr anhalten - Wenn Sie die Konfiguration ändern (wie wir es bald tun werden), müssen Sie dies tun - drücken Sie einfach Strg C.

(Linux Beschreibung:

https://www.php.cn/link/02013105f0430de65b8b1408d52c84be )

Setzen Sie den Modus

Der einfachste Weg, um mit Solr zu beginnen, besteht wahrscheinlich darin, das Standardverzeichnis zu kopieren und anzupassen.

Kopieren Sie das Solr -Verzeichnis aus

;

brew update
brew install solr
Nach dem Login kopieren
Nach dem Login kopieren

Wir werden die Konfigurationsdateien später, movies\solr.xml und movies\collection1\conf\solrconfig.xml überprüfen. Im Moment interessiert wir wirklich das Schema, das die Felder des Dokuments definiert, die wir indizieren, und wie man mit diesen Feldern umgeht.

Die Datei, die diesen Inhalt definiert, lautet movies\collection1\conf\schema.xml.

Wenn Sie eine gerade kopierte Datei öffnen, werden Sie feststellen, dass sie nicht nur einige nützliche Standardwerte, sondern auch viele Kommentare enthält, um zu verstehen, wie Sie sie anpassen können.

Die Konfigurationsdateien der

-Modus sind für zwei Hauptaspekte verantwortlich: Felder und Typen. Typen sind nur Datentypen, und unten kartieren sie Typen (z. B. Ganzzahlen, Daten und Zeichenfolgen) auf die zugrunde liegende Java -Klasse, die in der Implementierung verwendet wird. Zum Beispiel: solr.TrieIntField, solr.TrieDateField und solr.TextField. Die Typ -Konfiguration definiert auch das Verhalten von Tokenisierern, Analysatoren und Filtern.

Folgende Beispiele für Grundtypen:

cd /usr/local/Cellar/solr/4.5.0/libeexec/example
java -jar start.jar
Nach dem Login kopieren
Nach dem Login kopieren

String -Typen sind es wert, sorgfältig zu untersuchen, da es hier eine Falle gibt. Wenn Sie ein Feld als Zeichenfolge verwenden, werden alle Daten so gespeichert, wie Sie eingegeben wurden. Damit die Abfrage sie entspricht, muss es genau das gleiche sein. Angenommen, Sie haben einen Artikeltitel als Zeichenfolge und fügen Sie ein Dokument mit dem Titel "Eine Einführung in Solr" ein. In jeder korrekten Such -Implementierung möchten Sie den Artikel mit einer Abfrage wie "Solr Einführung" finden - ganz zu schweigen von "eine Einführung in Solr". Um dieses Problem zu lösen, wenn Sie dieses genaue Übereinstimmungsverhalten nicht wünschen - was in einigen Fällen tatsächlich nützlich ist, wie z. B. Facettensuche - können Sie eine Kombination aus Tokenizern und Filtern verwenden.

(Der nachfolgende Inhalt entspricht im Grunde genommen dem ursprünglichen Text, aber die Sprache und der Ausdruck werden angepasst, und einige Absätze werden gestoppt, um die Duplikation zu vermeiden. Um die angemessene Länge aufrechtzuerhalten, die Pseudooriginalergebnisse von Der verbleibende Teil des Originaltextes wird hier weggelassen

(Der FAQS -Teil wurde ebenfalls ähnlich verarbeitet, und der spezifische Inhalt wird weggelassen.)

Das obige ist der detaillierte Inhalt vonVerwenden von Solarium mit Solr für die Suche - Setup. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Java-Tutorial
1655
14
PHP-Tutorial
1252
29
C#-Tutorial
1226
24
Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Erklären Sie JSON Web Tokens (JWT) und ihren Anwendungsfall in PHP -APIs. Apr 05, 2025 am 12:04 AM

JWT ist ein offener Standard, der auf JSON basiert und zur sicheren Übertragung von Informationen zwischen Parteien verwendet wird, hauptsächlich für die Identitätsauthentifizierung und den Informationsaustausch. 1. JWT besteht aus drei Teilen: Header, Nutzlast und Signatur. 2. Das Arbeitsprinzip von JWT enthält drei Schritte: Generierung von JWT, Überprüfung von JWT und Parsingnayload. 3. Bei Verwendung von JWT zur Authentifizierung in PHP kann JWT generiert und überprüft werden, und die Funktionen und Berechtigungsinformationen der Benutzer können in die erweiterte Verwendung aufgenommen werden. 4. Häufige Fehler sind Signaturüberprüfungsfehler, Token -Ablauf und übergroße Nutzlast. Zu Debugging -Fähigkeiten gehört die Verwendung von Debugging -Tools und Protokollierung. 5. Leistungsoptimierung und Best Practices umfassen die Verwendung geeigneter Signaturalgorithmen, das Einstellen von Gültigkeitsperioden angemessen.

Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Wie funktioniert die Session -Entführung und wie können Sie es in PHP mildern? Apr 06, 2025 am 12:02 AM

Die Hijacking der Sitzung kann in den folgenden Schritten erreicht werden: 1. Erhalten Sie die Sitzungs -ID, 2. Verwenden Sie die Sitzungs -ID, 3. Halten Sie die Sitzung aktiv. Zu den Methoden zur Verhinderung der Sitzung der Sitzung in PHP gehören: 1. Verwenden Sie die Funktion Session_regenerate_id (), um die Sitzungs -ID zu regenerieren. 2. Store -Sitzungsdaten über die Datenbank, 3. Stellen Sie sicher, dass alle Sitzungsdaten über HTTPS übertragen werden.

Was sind REST -API -Designprinzipien? Was sind REST -API -Designprinzipien? Apr 04, 2025 am 12:01 AM

Die RESTAPI -Designprinzipien umfassen Ressourcendefinition, URI -Design, HTTP -Methodenverbrauch, Statuscode -Nutzung, Versionskontrolle und Hassoas. 1. Ressourcen sollten durch Substantive dargestellt und in einer Hierarchie aufrechterhalten werden. 2. HTTP -Methoden sollten ihrer Semantik entsprechen, z. B. Get wird verwendet, um Ressourcen zu erhalten. 3. Der Statuscode sollte korrekt verwendet werden, z. B. 404 bedeutet, dass die Ressource nicht vorhanden ist. 4. Die Versionskontrolle kann über URI oder Header implementiert werden. 5. Hateoas startet Client -Operationen durch Links als Antwort.

Wie können Sie mit Ausnahmen in PHP effektiv umgehen (versuchen Sie, schließlich zu werfen)? Wie können Sie mit Ausnahmen in PHP effektiv umgehen (versuchen Sie, schließlich zu werfen)? Apr 05, 2025 am 12:03 AM

In PHP wird das Ausnahmebehandlung durch den Versuch, Fang, schließlich und werfen Keywords erreicht. 1) Der Try -Block umgibt den Code, der Ausnahmen auslösen kann. 2) Der Catch -Block behandelt Ausnahmen; 3) Block stellt schließlich sicher, dass der Code immer ausgeführt wird. 4) Wurf wird verwendet, um Ausnahmen manuell zu werfen. Diese Mechanismen verbessern die Robustheit und Wartbarkeit Ihres Codes.

Was sind anonyme Klassen in PHP und wann könnten Sie sie verwenden? Was sind anonyme Klassen in PHP und wann könnten Sie sie verwenden? Apr 04, 2025 am 12:02 AM

Die Hauptfunktion anonymer Klassen in PHP besteht darin, einmalige Objekte zu erstellen. 1. Anonyme Klassen ermöglichen es, Klassen ohne Namen direkt im Code zu definieren, was für vorübergehende Anforderungen geeignet ist. 2. Sie können Klassen erben oder Schnittstellen implementieren, um die Flexibilität zu erhöhen. 3. Achten Sie bei der Verwendung auf Leistung und Code -Lesbarkeit und vermeiden Sie es, dieselben anonymen Klassen wiederholt zu definieren.

Was ist der Unterschied zwischen Include, Forderung, Include_once, Required_once? Was ist der Unterschied zwischen Include, Forderung, Include_once, Required_once? Apr 05, 2025 am 12:07 AM

In PHP ist der Unterschied zwischen Include, Forderung, Include_once, Required_once: 1) Einbeziehung erzeugt eine Warnung und führt weiterhin aus, 2) Erzeugt einen tödlichen Fehler und stoppt die Ausführung, 3) include_once und fordern_once wiederholte Einschlüsse verhindern. Die Auswahl dieser Funktionen hängt von der Bedeutung der Datei ab und darüber, ob es erforderlich ist, eine doppelte Einbeziehung zu verhindern. Die rationale Verwendung kann die Lesbarkeit und Wartbarkeit des Codes verbessern.

Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Erklären Sie verschiedene Fehlertypen in PHP (Hinweis, Warnung, tödlicher Fehler, analysieren Sie Fehler). Apr 08, 2025 am 12:03 AM

Es gibt vier Hauptfehlertypen in PHP: 1. Nichts: Das geringste unterbrochen das Programm nicht, wie z. B. Zugriff auf undefinierte Variablen; 2. Warnung: Ernst als Bekanntmachung, wird das Programm nicht kündigen, z. B. keine Dateien; 3. FatalError: Das schwerwiegendste wird das Programm beenden, z. 4. Parseerror: Syntaxfehler verhindern, dass das Programm ausgeführt wird, z. B. das Vergessen, das End -Tag hinzuzufügen.

PHP und Python: Vergleich von zwei beliebten Programmiersprachen PHP und Python: Vergleich von zwei beliebten Programmiersprachen Apr 14, 2025 am 12:13 AM

PHP und Python haben jeweils ihre eigenen Vorteile und wählen nach den Projektanforderungen. 1.PHP ist für die Webentwicklung geeignet, insbesondere für die schnelle Entwicklung und Wartung von Websites. 2. Python eignet sich für Datenwissenschaft, maschinelles Lernen und künstliche Intelligenz mit prägnanter Syntax und für Anfänger.

See all articles