Verwenden von Solarium mit Solr für die Suche - 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
, abhängig von der Version der von Ihnen verwendeten Software. /usr/local/Cellar/solr/4.5.0
cd /usr/local/Cellar/solr/4.5.0/libeexec/example java -jar start.jar
<code>http://localhost:8983/solr/</code>
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
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
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!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

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

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen











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.

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.

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.

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.

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.

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.

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 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.
