Kernpunkte
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!