Heim > Artikel > Backend-Entwicklung > Suchen und Abfragen mit Solr in Beego
Beego ist ein schnelles Go-Sprach-Webframework und Solr ist ein Lucene-basierter Such- und Abfrageserver. Durch die Kombination beider Funktionen können Webanwendungen effiziente Suchfunktionen bereitgestellt werden. In diesem Artikel wird erläutert, wie Sie Solr für die Suche und Abfrage in Beego verwenden.
Schritt 1: Solr installieren
Bevor Sie Solr verwenden, müssen Sie zunächst Solr installieren. Solr kann die neueste Version der Binärdateien von der offiziellen Website herunterladen (https://lucene.apache.org/solr/). Dekomprimieren Sie Solr nach dem Herunterladen in ein lokales Verzeichnis, geben Sie das dekomprimierte Verzeichnis ein und führen Sie den folgenden Befehl aus, um Solr zu starten:
./bin/solr start
Nachdem Solr gestartet wurde, können Sie im Browser auf die Solr-Verwaltungsoberfläche zugreifen ( http://localhost:8983/solr/). Wenn Sie die Solr-Verwaltungsoberfläche sehen, wurde Solr erfolgreich installiert.
Schritt 2: Solr-Index erstellen
Bevor Sie Solr ausführen, müssen Sie zuerst den Index definieren. Ein Solr-Index ist eine Sammlung von Daten mit einer bestimmten Struktur, die zum Speichern von Textdaten verwendet wird, die für Suchen und Abfragen erforderlich sind. Damit Solr Suchfunktionen für unsere Beego-Anwendung bereitstellen kann, müssen wir einen Index erstellen, der zu unserem Datenmodell passt. Die Definition eines Solr-Index besteht aus einer Reihe spezieller XML-Dateien, den sogenannten Solr-Konfigurationsdateien. Das Erstellen einer Solr-Konfigurationsdatei kann mit den Verwaltungstools der Solr-Instanz oder durch manuelles Bearbeiten der XML-Datei erfolgen.
Der erste Schritt beim Erstellen eines Solr-Index besteht darin, eine Schema.xml-Datei zu definieren. Diese Datei definiert, welche Feldinformationen der Solr-Index enthält, welche Spalte als Primärschlüssel verwendet werden soll, die Art der Felder, die Operationen der einzelnen Felder usw. Um eine Schema.xml mit zwei Feldern zu erstellen, können Sie der Datei manuell den folgenden Inhalt hinzufügen:
ab3cb675d9286761e5f198592921f93d
39e12758f230b0e178c9910653d2c30b
<fields> <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false"/> <field name="title" type="string" indexed="true" stored="true" /> </fields> <uniqueKey>id</uniqueKey>
b3814857fc46f0ca91c2651b3e91ccbf
Im obigen Beispiel haben wir eine Schema.xml definiert, die zwei Felder enthält: einen Primärschlüssel namens „id“ und einen Titel namens „title“. ". Der nächste Schritt besteht darin, die Datei Index.xml zur Solr-Konfigurationsdatei hinzuzufügen. Die Datei Index.xml ist eine XML-Datei, die die zu erstellende Solr-Indexstruktur angibt. Hier ist ein Beispiel einer Index.xml-Datei:
ab3cb675d9286761e5f198592921f93d
64531295cb863c6c1bc26fe1360fcf6c
<schema name="example-index" />
e7b255719b8058c54fb8465a2925b22e
Der obige Inhalt wird Solr Die Konfigurationsdatei des Index wird als Beispielindex konfiguriert und stellt sicher, dass der Beispielname durch den tatsächlichen Indexnamen ersetzt wird. Nach Abschluss der beiden oben genannten Schritte wurde die Solr-Index-Konfigurationsdatei erfolgreich erstellt. Um diesen Index in Solr zu verwenden, müssen Sie den Index in die Solr-Instanz hochladen:
./bin/solr create -c example-index -d ./conf
Dieser Befehl erstellt eine Instanz mit dem Namen „example-index“. Erstellen Sie einen neuen Index und verweisen Sie den Konfigurationsordner von Solr auf den Ordner „conf“ im aktuellen Verzeichnis.
Schritt 3: Solr in Beego verwenden
Um Solr in Beego verwenden zu können, müssen Sie die Solr-Clientbibliothek der Go-Sprache installieren. Der in der Bibliothek enthaltene Befehl kann auf GitHub ausgecheckt werden:
go get github.com/rtt/Go-Solr
In der Beego-Anwendung müssen Sie zunächst eine Solr-Verbindung erstellen. Dies kann durch Erstellen eines neuen Solr-Objekts erfolgen:
import (
"github.com/rtt/Go-Solr"
)
func main() {
s, err := solr.Init("http://localhost:8983/solr") if err != nil { panic(err) }
}
Als nächstes kann das Solr-Objekt zum Durchführen von Such- und Abfragevorgängen verwendet werden. Hier ist ein Beispiel, das zeigt, wie eine Textabfrage in Solr durchgeführt wird:
import (
"fmt" "github.com/rtt/Go-Solr"
)
func main() {
s, err := solr.Init("http://localhost:8983/solr") if err != nil { panic(err) } query := solr.NewQuery() query.Q("title:Solr") res, err := s.Search("example-index", query) if err != nil { fmt.Printf("Error searching: %s
", err)
} else { fmt.Printf("Found %d results:
", res.Results.NumFound)
for _, doc := range res.Results.Docs { fmt.Printf("- id:%s title:%s
" , doc["id"], doc["title"])
} }
}
Im obigen Beispiel wird zuerst ein Solr-Abfrageobjekt erstellt und dann bei der Suche verwendet. Nach der Suche kann es mit dem Ergebnissatz durchlaufen werden Sehen Sie sich die ID und den Titel jedes passenden Dokuments an.
Fazit: Die Verwendung von Solr bietet leistungsstarke Such- und Abfragefunktionen für Beego-Anwendungen. In diesem Artikel haben wir die Verwendung der Go-Sprache vorgestellt Durch die Kombination dieser Methoden können Beego-Anwendungen auf einfache Weise effiziente Suchfunktionen hinzugefügt werden
.
Das obige ist der detaillierte Inhalt vonSuchen und Abfragen mit Solr in Beego. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!