Maison > Article > développement back-end > API de requête ponctuelle Elasticsearch dans Golang
Dans Golang, Elasticsearch est un moteur de recherche et d'analyse distribué très populaire. Il dispose de fonctions puissantes et d'un langage de requête flexible pour répondre à divers besoins de récupération de données. Parmi eux, l'API de demande de point temporel est une fonctionnalité importante d'Elasticsearch, qui nous permet de récupérer et d'agréger des données en fonction d'une plage horaire. Dans cet article, l'éditeur PHP Xinyi présentera en détail l'utilisation et les précautions de l'API de demande de point temporel Elasticsearch dans Golang pour aider les lecteurs à mieux comprendre et appliquer cette fonction.
J'essaie d'utiliser l'API ponctuelle dans Golang en utilisant la bibliothèque officielle go-elasticsearch. Je n'arrive pas à trouver de documentation expliquant comment l'utiliser.
J'ai pu créer OpenPointInTime
对象并检索 PIT id。我不知道如何处理它或将其放置在 elasticsearch.Client.Search
postes au sein d'une fonction. Je ne trouve pas non plus d'exemple.
Quelqu'un peut-il donner un exemple de base en utilisant la bibliothèque officielle.
Après avoir parcouru les problèmes résolus sur le référentiel github de la bibliothèque elasticsearch, j'ai trouvé ce fil de discussion : https://www.php.cn/link/4bdb6179647296e518bd72e62d3bf5c1
Selon ce fil de discussion, je dois obtenir l'identifiant de la fosse à partir de la réponse openpointintime
et l'ajouter au corps.
Cela a fonctionné pour moi :
var query_buffer bytes.Buffer body := ` { "query": { "term": { "_id": "AkUN7YUB2JzVdyKtJ8bD" } }, "pit": { "id": "your pit id here", "keep_alive": "3m" } } ` es, _ := elasticsearch.NewDefaultClient() json.NewDecoder(&query_buffer).Decode(&body) res, err := es.Search( es.Search.WithAllowPartialSearchResults(true), es.Search.WithBody(&query_buffer), )
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!