go操作elasticsearch 如何打印query log

这篇具有很好参考价值的文章主要介绍了go操作elasticsearch 如何打印query log。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我们在写代码调试的时候,有时候需要打印es的query log 看下请求json到底长什么样。在new的时候我们需要传一个 实现了 elasticsearch 这个包  Logger 接口的结构体进来。
package DbBase
import (
   "fmt"
   "log"
   "net"
   "net/http"
   "time"
   "github.com/spf13/viper"
   "gopkg.in/olivere/elastic.v5"
)
var esClient *elastic.Client
var err error
//tracelog 实现 elastic.Logger 接口
type tracelog struct{}
//实现输出
func (tracelog) Printf(format string, v ...interface{}) {
   fmt.Printf(format, v...)
}
func InitEs() {
   httpClient := &http.Client{}
   httpClient.Transport = &http.Transport{
      Proxy: http.ProxyFromEnvironment,
      DialContext: (&net.Dialer{
         Timeout:   5 * time.Second,
         KeepAlive: 30 * time.Second,
      }).DialContext,
      MaxIdleConns:          200,
      MaxIdleConnsPerHost:   200,
      IdleConnTimeout:       90 * time.Second,
      TLSHandshakeTimeout:   10 * time.Second,
      ExpectContinueTimeout: 1 * time.Second,
   }
   esClient, err = elastic.NewClient(
      elastic.SetHttpClient(httpClient),
      elastic.SetSniff(false),
      elastic.SetURL(viper.GetString("es.weili.host")),
      elastic.SetHealthcheck(false),
      elastic.SetTraceLog(new(tracelog)), // 这一 必须的
   )
   if err != nil {
      log.Fatalln(err)
   }
}
func GetEs() *elastic.Client {
   return esClient
}

文章来源地址https://www.toymoban.com/news/detail-497671.html

到了这里,关于go操作elasticsearch 如何打印query log的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Go操作elasticsearch合集

    参考链接这个博主的很不错 must 条件 must_not should 条件 任意聚合类型都支持嵌套,桶聚合可以嵌套桶聚合,也可以嵌套指标聚合。 例子:

    2024年02月11日
    浏览(29)
  • Go 操作 ElasticSearch 实战

    在这里记录一下Golang操作elastic的使用方式,本文使用的是第三方包github.com/olivere/elastic的v7版本。 1.精确匹配单个字段 使用term查询, 后续示例只列举出核心代码,其余代码结构参考本节实现。 2.通过terms实现SQL的in查询 3.匹配单个字段 某个字段使用全文搜索 4.范围查询 5.bo

    2023年04月08日
    浏览(25)
  • 我们如何在 Elasticsearch 8.6、8.7 和 8.8 中加速数据摄入

    作者:Adrien Grand, Joe Gallo, Tyler Perkins 正如你们中的一些人已经注意到的,Elasticsearch 8.6、8.7 和 8.8 在各种数据集上带来了良好的索引加速,从简单的到繁重的 KNN 向量,以及摄取管道繁重的摄取工作负载。 摄取涉及许多组件 —— 运行摄取管道、反转内存中的数据、刷新

    2024年02月15日
    浏览(33)
  • MySQL数据库——MySQL慢查询日志(Slow Query Log)

    慢查询日志用来记录在 MySQL 中执行时间超过指定时间的查询语句。通过慢查询日志,可以查找出哪些查询语句的执行效率低,以便进行优化。 通俗的说,MySQL 慢查询日志是排查问题的 SQL 语句,以及检查当前 MySQL 性能的一个重要功能。如果不是调优需要,一般不建议启动该

    2024年02月06日
    浏览(42)
  • go-elasticsearch 官方包操作合集

    2024年02月11日
    浏览(25)
  • 译文:我们如何使 Elasticsearch 7.11 中的 date_histogram 聚合比以往更快

    这篇文章是ES7.11版本的文章,主要学习的是思路,记录在这里留作以后参考用。 原文地址:https://www.elastic.co/cn/blog/how-we-made-date-histogram-aggregations-faster-than-ever-in-elasticsearch-7-11 Elasticsearch 的 date_histogram 聚合是 Kibana 的 Discover 和 Logs Monitoring UI 的基石。我经常使用它来调查构建

    2024年02月04日
    浏览(79)
  • 什么是低代码?我们该如何去避免?

    低代码开发是近年来迅速崛起的软件开发方法,让编写应用程序变得更快、更简单。有人说它是美味的膳食,让开发过程高效而满足,但也有人质疑它是垃圾食品,缺乏定制性与深度。你认为低代码到底是美味的膳食还是垃圾食品呢,来分享一下吧! 低代码是指一种软件开发

    2024年02月03日
    浏览(34)
  • 我们在操作自动化测如何实现用例设计实例

    在编写用例之间,笔者再次强调几点编写自动化测试用例的原则: 1、一个脚本是一个完整的场景,从用户登陆操作到用户退出系统关闭浏览器。 2、一个脚本脚本只验证一个功能点,不要试图用户登陆系统后把所有的功能都进行验证再退出系统 3、尽量只做功能中正向逻辑的

    2024年02月05日
    浏览(29)
  • 【JAVA】我们该如何规避代码中可能出现的错误?(一)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误有时候是可以避免的,学习一些异常处理方式往往可以使我们编程的时间大大减少。 检查性异常 :最具代表的检查性异常是 用户错误或问题引起的异

    2024年02月12日
    浏览(33)
  • 【JAVA】我们该如何规避代码中可能出现的错误?(二)

    个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 异常是程序中的一些错误,但并不是所有的错误都是异常,并且错误00有时候是可以避免的,学习一些异常处理方式往往可以使我们编程的时间大大减少。 注:本文为系列文章,前文可点击观看➡️【JAVA】我们该如何

    2024年02月08日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包