Maison > développement back-end > Golang > requêtes Golang

requêtes Golang

王林
Libérer: 2023-05-19 10:23:37
original
1167 Les gens l'ont consulté

Le langage Go est un langage de programmation open source privilégié par les développeurs depuis sa création. L'une des raisons est que le langage Go résout parfaitement le problème de l'écriture d'applications Web hautes performances. Dans le même temps, en tant que langage de programmation hautement fiable, efficace et sûr, le langage Go est également très efficace pour traiter de grandes quantités de données. Dans cet article, nous présenterons comment interroger ES (Elasticsearch) à l'aide du langage Go.

Qu'est-ce que l'ES ?

ES (Elasticsearch) est un moteur de recherche open source basé sur Lucene. Il peut stocker, rechercher et analyser de grandes quantités de données en temps quasi réel. ES est une base de données dynamique orientée document qui peut prendre en charge des demandes de recherche complexes et prendre en charge une analyse globale en temps réel. ES intègre de puissantes capacités de recherche en texte intégral et prend en charge les opérations de requête complexes.

Pourquoi utiliser le langage Go pour interroger ES ?

Il existe de nombreuses raisons d'utiliser le langage Go avec ES. Tout d'abord, ES est un moteur de recherche hautes performances, et les performances de hautes performances et de concurrence du langage Go sont également très bonnes, de sorte que la combinaison des deux peut considérablement améliorer l'efficacité du traitement des données et de la recherche. De plus, l'API et le langage de requête d'ES sont très complexes et nécessitent un certain temps d'apprentissage, tandis que la syntaxe du langage Go est simple et claire, facile à apprendre et à utiliser, facilitant ainsi le traitement des données ES.

Étapes pour interroger ES à l'aide du langage Go :

1. Installer le langage Go et ES

Vous devez d'abord installer le langage Go et ES sur votre ordinateur. Ce processus contient des méthodes d'installation détaillées dans la documentation officielle. Une fois l'installation terminée, nous pouvons commencer à utiliser le langage Go pour interroger ES.

2. Introduire des packages de dépendances

De nombreuses fonctions du langage Go peuvent être réalisées en introduisant des packages de dépendances. Pour interroger ES, nous devons d’abord introduire certains packages de dépendances liés à ES. Par exemple, nous pouvons utiliser le client de langage Go officiellement fourni, Elasticsearch (github.com/elastic/go-elasticsearch). Grâce à ce package de dépendances, nous pouvons facilement écrire des programmes en langage Go pour faire fonctionner ES.

3. Écrire du code

Voyons ensuite comment écrire un programme en langage Go pour interroger ES. Tout d’abord, nous devons nous connecter au service ES. Ceci peut être réalisé par le code suivant :

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)
}
Copier après la connexion

Dans ce code, nous utilisons l'adresse ES, le nom d'utilisateur et le mot de passe pour créer une connexion au client ES. Le client ES est une instance du programme en langage Go, qui peut être utilisée pour effectuer diverses opérations de requête.

Ensuite, nous pouvons écrire une fonction de requête pour obtenir les données requises. Dans cet exemple, nous interrogerons tous les documents dans l'index spécifié d'ES. Voici un exemple de code pour effectuer cette opération de requête :

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)
Copier après la connexion

Dans ce code, nous utilisons la fonction es.Search pour effectuer l'opération de requête ES. Nous devons spécifier l'index à interroger, le corps de la requête et quelques autres paramètres. Par exemple, nous pouvons utiliser la fonction WithTrackTotalHits pour indiquer à ES de renvoyer le nombre de tous les documents correspondants. Utilisez la fonction WithPretty pour afficher les résultats de la requête dans un format lisible.

Enfin, nous devons utiliser la fonction json.NewDecoder pour décoder le corps de la réponse en un type de carte. Cette carte contient toutes les informations sur les résultats de la requête. Nous pouvons traiter ces informations selon les besoins, comme extraire le contenu du document, calculer le nombre de documents, etc.

Résumé :

Le langage Go est un langage de programmation très puissant qui peut être utilisé pour développer des applications Web hautes performances et des applications de traitement de Big Data. ES est un moteur de recherche hautes performances qui offre de puissantes capacités de recherche en texte intégral et d'analyse globale en temps réel. La combinaison des deux peut répondre aux besoins des développeurs de traiter d’énormes quantités de données. Dans cet article, nous expliquons comment interroger ES à l'aide du langage Go et fournissons un exemple de code. J'espère que cet article sera utile aux développeurs qui apprennent le langage Go et ES.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal