Heim > Backend-Entwicklung > Golang > Golang-Anfragen

Golang-Anfragen

王林
Freigeben: 2023-05-19 10:23:37
Original
1167 Leute haben es durchsucht

Go-Sprache ist eine Open-Source-Programmiersprache, die seit ihrer Einführung von Entwicklern bevorzugt wird. Einer der Gründe ist, dass die Go-Sprache das Problem des Schreibens leistungsstarker Webanwendungen perfekt löst. Gleichzeitig ist die Go-Sprache als äußerst zuverlässige, effiziente und sichere Programmiersprache auch sehr gut für die Verarbeitung großer Datenmengen geeignet. In diesem Artikel stellen wir vor, wie man ES (Elasticsearch) mit der Go-Sprache abfragt.

Was ist ES?

ES (Elasticsearch) ist eine Open-Source-Suchmaschine basierend auf Lucene. Es kann große Datenmengen nahezu in Echtzeit speichern, durchsuchen und analysieren. ES ist eine dynamische, dokumentenorientierte Datenbank, die komplexe Suchanfragen und aggregierte Echtzeitanalysen unterstützen kann. ES verfügt über integrierte leistungsstarke Volltextsuchfunktionen und unterstützt komplexe Abfragevorgänge.

Warum die Go-Sprache zum Abfragen von ES verwenden?

Es gibt viele Gründe, die Go-Sprache mit ES zu verwenden. Erstens ist ES eine Hochleistungssuchmaschine, und die Hochleistung und Parallelitätsleistung der Go-Sprache sind ebenfalls sehr gut, sodass die Kombination beider die Effizienz der Datenverarbeitung und Suche erheblich verbessern kann. Darüber hinaus sind die API und die Abfragesprache von ES sehr komplex und erfordern eine gewisse Lernzeit, während die Syntax der Go-Sprache einfach und klar ist, leicht zu erlernen und zu verwenden ist und die Verarbeitung von ES-Daten erleichtert.

Schritte zum Abfragen von ES mithilfe der Go-Sprache:

1. Installieren Sie die Go-Sprache und ES.

Zuerst müssen Sie die Go-Sprache und ES auf Ihrem Computer installieren. In der offiziellen Dokumentation finden Sie detaillierte Installationsmethoden. Nachdem die Installation abgeschlossen ist, können wir mit der Go-Sprache zum Abfragen von ES beginnen.

2. Abhängigkeitspakete einführen

Viele Funktionen der Go-Sprache können durch die Einführung von Abhängigkeitspaketen erreicht werden. Um ES abzufragen, müssen wir zunächst einige ES-bezogene Abhängigkeitspakete einführen. Beispielsweise können wir den offiziell bereitgestellten Go-Sprachclient Elasticsearch (github.com/elastic/go-elasticsearch) verwenden. Durch dieses Abhängigkeitspaket können wir problemlos Go-Sprachprogramme schreiben, um ES zu betreiben.

3. Code schreiben

Schauen wir uns als Nächstes an, wie man ein Go-Sprachprogramm zum Abfragen von ES schreibt. Zuerst müssen wir eine Verbindung zum ES-Dienst herstellen. Dies kann durch den folgenden Code erreicht werden:

cfg := elasticsearch.Config{
  Addresses: []string{
    "http://localhost:9200",
  },
  Username: "user",
  Password: "pass",
}
es, err := elasticsearch.NewClient(cfg)
if err != nil {
  log.Fatalf("Error creating the client: %s", err)
}
Nach dem Login kopieren

In diesem Code verwenden wir die ES-Adresse, den Benutzernamen und das Passwort, um eine Verbindung zum ES-Client herzustellen. Der ES-Client ist eine Instanz im Go-Sprachprogramm, mit der verschiedene Abfragevorgänge ausgeführt werden können.

Als nächstes können wir eine Abfragefunktion schreiben, um die erforderlichen Daten zu erhalten. In diesem Beispiel fragen wir alle Dokumente im angegebenen Index von ES ab. Das Folgende ist ein Beispielcode zum Ausführen dieser Abfrageoperation:

res, err := es.Search(
  es.Search.WithIndex("my-index"),
  es.Search.WithBody(strings.NewReader(`{"query": {"match_all": {}}}`)),
  es.Search.WithTrackTotalHits(true),
  es.Search.WithPretty(),
)
if err != nil {
  log.Fatalf("Error getting response: %s", err)
}
defer res.Body.Close()

var r map[string]interface{}
if err := json.NewDecoder(res.Body).Decode(&r); err != nil {
  log.Fatalf("Error parsing the response body: %s", err)
}
fmt.Println(r)
Nach dem Login kopieren

In diesem Code verwenden wir die Funktion es.Search, um die ES-Abfrageoperation auszuführen. Wir müssen den abzufragenden Index, den Anforderungstext und einige andere Parameter angeben. Beispielsweise können wir die Funktion „WithTrackTotalHits“ verwenden, um ES anzuweisen, die Anzahl aller übereinstimmenden Dokumente zurückzugeben. Verwenden Sie die WithPretty-Funktion, um Abfrageergebnisse in einem lesbaren Format auszugeben.

Schließlich müssen wir die Funktion json.NewDecoder verwenden, um den Antworttext in einen Kartentyp zu dekodieren. Diese Karte enthält alle Informationen zu den Abfrageergebnissen. Wir können diese Informationen nach Bedarf verarbeiten, z. B. den Dokumentinhalt extrahieren, die Anzahl der Dokumente berechnen usw.

Zusammenfassung:

Go-Sprache ist eine sehr leistungsfähige Programmiersprache, mit der leistungsstarke Webanwendungen und Big-Data-Verarbeitungsanwendungen entwickelt werden können. ES ist eine Hochleistungssuchmaschine, die leistungsstarke Volltextsuche und aggregierte Analysefunktionen in Echtzeit bietet. Die Kombination der beiden kann den Anforderungen von Entwicklern gerecht werden, große Datenmengen zu verarbeiten. In diesem Artikel stellen wir vor, wie ES mithilfe der Go-Sprache abgefragt wird, und stellen einen Beispielcode bereit. Ich hoffe, dass dieser Artikel für Entwickler hilfreich sein wird, die Go-Sprache und ES lernen.

Das obige ist der detaillierte Inhalt vonGolang-Anfragen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage