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 solrDies installiert die Software in einem Verzeichnis wie
, 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.jarUm zu überprüfen, ob die Installation erfolgreich ist, greifen Sie in Ihrem Webbrowser auf die Verwaltungsschnittstelle zu:
<code>http://localhost:8983/solr/</code>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
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!

PHP bleibt ein leistungsstarkes und weit verbreitetes Tool in der modernen Programmierung, insbesondere im Bereich der Webentwicklung. 1) PHP ist einfach zu bedienen und nahtlos in Datenbanken integriert und für viele Entwickler die erste Wahl. 2) Es unterstützt die Erzeugung der dynamischen Inhalte und die objektorientierte Programmierung, die für die schnelle Erstellung und Wartung von Websites geeignet sind. 3) Die Leistung von PHP kann verbessert werden, indem Datenbankabfragen zwischengespeichert und optimiert werden, und die umfangreiche Community und sein reiches Ökosystem machen es im heutigen Technologiestack immer noch wichtig.

In PHP werden schwache Referenzen in der WeaPreference -Klasse implementiert und verhindern nicht, dass der Müllsammler Objekte zurückerobern. Schwache Referenzen eignen sich für Szenarien wie Caching -Systeme und Event -Hörer. Es ist zu beachten, dass es das Überleben von Objekten nicht garantieren kann und dass die Müllsammlung möglicherweise verzögert wird.

Mit der \ _ \ _ -Invoke -Methode können Objekte wie Funktionen bezeichnet werden. 1. Definieren Sie die Methode \ _ \ _, damit das Objekt aufgerufen werden kann. 2. Bei Verwendung der Syntax $ OBJ (...) wird PHP die Methode \ _ \ _ aufrufen. 3.. Geeignet für Szenarien wie Protokollierung und Taschenrechner, Verbesserung der Codeflexibilität und Lesbarkeit.

Fasern wurde in Php8.1 eingeführt, wodurch die gleichzeitigen Verarbeitungsfunktionen verbessert wurden. 1) Fasern ist ein leichtes Parallelitätsmodell, das Coroutinen ähnelt. 2) Sie ermöglichen es den Entwicklern, den Ausführungsfluss von Aufgaben manuell zu steuern, und eignen sich zum Umgang mit E/O-intensiven Aufgaben. 3) Die Verwendung von Fasern kann effizientere und reaktionsschnelle Code schreiben.

Die PHP -Community bietet umfangreiche Ressourcen und Unterstützung, um Entwicklern zu helfen, zu wachsen. 1) Zu den Ressourcen gehören offizielle Dokumentation, Tutorials, Blogs und Open -Source -Projekte wie Laravel und Symfony. 2) Die Unterstützung kann durch Stackoverflow-, Reddit- und Slack -Kanäle erhalten werden. 3) Entwicklungstrends können durch Befolgung von RFC gelernt werden. 4) Die Integration in die Community kann durch aktive Teilnahme, Beitrag zum Code und Lernfreigabe erreicht werden.

PHP und Python haben jeweils ihre eigenen Vorteile, und die Wahl sollte auf Projektanforderungen beruhen. 1.PHP eignet sich für die Webentwicklung mit einfacher Syntax und hoher Ausführungseffizienz. 2. Python eignet sich für Datenwissenschaft und maschinelles Lernen mit präziser Syntax und reichhaltigen Bibliotheken.

PHP stirbt nicht, sondern sich ständig anpasst und weiterentwickelt. 1) PHP hat seit 1994 mehreren Versionen für die Version unterzogen, um sich an neue Technologietrends anzupassen. 2) Es wird derzeit in E-Commerce, Content-Management-Systemen und anderen Bereichen häufig verwendet. 3) PHP8 führt den JIT -Compiler und andere Funktionen ein, um die Leistung und Modernisierung zu verbessern. 4) Verwenden Sie Opcache und befolgen Sie die PSR-12-Standards, um die Leistung und die Codequalität zu optimieren.

Die Zukunft von PHP wird erreicht, indem sich an neue Technologietrends angepasst und innovative Funktionen eingeführt werden: 1) Anpassung an Cloud Computing, Containerisierung und Microservice -Architekturen, Unterstützung von Docker und Kubernetes; 2) Einführung von JIT -Compilern und Aufzählungsarten zur Verbesserung der Leistung und der Datenverarbeitungseffizienz; 3) die Leistung kontinuierlich optimieren und Best Practices fördern.


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

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

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

SecLists
SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

MinGW – Minimalistisches GNU für Windows
Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

ZendStudio 13.5.1 Mac
Leistungsstarke integrierte PHP-Entwicklungsumgebung