首页 > 其他分享 >kafka-es.go

kafka-es.go

时间:2023-07-16 23:13:34浏览次数:36  
标签:err elastic get fmt kafka client go es

package es

import (
"context"
"encoding/json"
"fmt"
"kafka/mongo"
"log"
"os"

"github.com/olivere/elastic"

)

var client *elastic.Client

var host = "http://192.168.184.10:9200"

//初始化es驱动
func Connect() {
client, _ = elastic.NewClient(
// ...
// 将sniff设置为false后,便不会自动转换地址
elastic.SetSniff(false),
)
errorlog := log.New(os.Stdout, "app", log.LstdFlags)

var err error
client, err = elastic.NewClient(elastic.SetErrorLog(errorlog), elastic.SetURL(host), elastic.SetSniff(false))
if err != nil {
	panic(err)
}
info, code, err := client.Ping(host).Do(context.Background())
if err != nil {
	panic(err)
}
fmt.Printf("Es return with code %d and version %s \n", code, info.Version.Number)
esversionCode, err := client.ElasticsearchVersion(host)
if err != nil {
	fmt.Println("err:")
	panic(err)
}
fmt.Printf("es version %s\n", esversionCode)

}

//查找
func Get() {
get, err := client.Get().Index("test").Type("_doc").Id("Mk33VIkB0JvaroO0nbrb").Do(context.Background())
if err != nil {
panic(err)
}
if get.Found {
fmt.Printf("got document %s in version %d from index %s,type %s \n", get.Id, get.Version, get.Index, get.Type)

	var user mongo.User
	// 这里别忘了*,因为res.Source是地址
	if err := json.Unmarshal(*get.Source, &user); err != nil {
		fmt.Println("转换成json失败")
		return
	}
	fmt.Println(user)
}

}
func Insert() {
name := "test"
data := { "name": "wali", "age": 30, "city": "shenzhen" }
_, err := client.Index().Index(name).Type("_doc").Id("1").BodyJson(data).Do(context.Background())
fmt.Println(err)
}

标签:err,elastic,get,fmt,kafka,client,go,es
From: https://www.cnblogs.com/xivzhou/p/17558795.html

相关文章

  • ESP32 VScode环境问题
    vsdcodeesp-idf插件安装报错:Espressif\tools\idf-python\3.11.2\python.exe-mpip"isnotvalid.(ERROR_INVALID_PIP)打开命令窗口使用命令:python-mpipinstall--upgrade,出现提示Nomodulenamedpip,使用python-mensurepip重新安装pip,回到esp-idf重新运行python-mpi......
  • 2023.7.16 linux 软中断Softirqs 队列 Workqueues 并发管理队列cmwq
    Implementingwork-deferringmechanisms 延期任务Softirqs:Executedinanatomiccontext # kernel/softirq.c ;<linux/interrupt.h>.Tasklets:Executedinanatomiccontext Workqueues:Executedinaprocesscontext structsoftirq......
  • Python报错 | 关于requests.exceptions.SSLError解决方案
    学习爬虫遇到的错误。报错信息:requests.exceptions.SSLError:HTTPSConnectionPool(host=’*****’,port=443):Maxretriesexceededwithurl:/(CausedbySSLError(“Can’tconnecttoHTTPSURLbecausetheSSLmoduleisnotavailable.”))解决方法:检查是否已安装......
  • esp32笔记[4]-基于ESP-NOW协议的点对点数据收发
    摘要基于ESP-NOW协议的点对点数据收发,用两片ESP8266/ESP32实现远程控制小灯亮灭。硬件平台ESP8266小灯:IO2开发平台ArduinoIDEESP-NOW协议简述[https://www.zhihu.com/tardis/zm/art/344109867?source_id=1002]ESP-NOW是由乐鑫开发的另一款无线通信协议,可以使多个设......
  • 2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用?
    2023-07-16:讲一讲Kafka与RocketMQ中零拷贝技术的运用?答案2023-07-16:什么是零拷贝?零拷贝(英语:Zero-copy)技术是指计算机执行操作时,CPU不需要先将数据从某处内存复制到另一个特定区域。这种技术通常用于通过网络传输文件时节省CPU周期和内存带宽。➢零拷贝技术可以减少数据......
  • 基于VuePress+gitee搭建个人博客
    搭建步骤步骤1:创建并进入一个新目录mkdirmy-blogcdmy-blog步骤2:初始化项目gitinitpnpminit步骤3:将VuePress安装为本地依赖pnpmadd-Dvuepress@next@vuepress/client@nextvue步骤4:在package.json中添加一些scripts在新窗口打开{"......
  • m基于FPGA的带相位偏差64QAM调制信号相位估计和补偿算法verilog实现,包含testbench
    1.算法仿真效果 本系统进行了Vivado2019.2平台的开发,其中Vivado2019.2仿真结果如下:   将FPGA的仿真结果导入到matlab中,显示星座图,结果如下所示:    2.算法涉及理论知识概要         在现代通信系统中,调制技术是实现高速数据传输和频谱效率优化的......
  • m基于FPGA的1024QAM调制信号产生模块verilog实现,包含testbench
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,Vivado2019.2仿真结果如下:将1024调制信号导入到matlab显示星座图2.算法涉及理论知识概要本文将详细介绍基于FPGA的1024QAM调制信号产生模块。本文将从以下几个方面进行介绍:1024QAM调制信号的基本原理、符号映射方式、并行化......
  • Typescript学习笔记总结
    Typescript是一种由微软开发的开源编程语言,它是JavaScript的超集,意味着它包含了JavaScript的所有特性,同时还提供了一些额外的功能和类型检查。Typescript的目标是提高JavaScript代码的可读性、可维护性和可扩展性,同时还能够在编译时检测出一些常见的错误。在本文中,我们将详细介绍Ty......
  • m基于FPGA的带相位偏差64QAM调制信号相位估计和补偿算法verilog实现,包含testbench
    1.算法仿真效果本系统进行了Vivado2019.2平台的开发,其中Vivado2019.2仿真结果如下:将FPGA的仿真结果导入到matlab中,显示星座图,结果如下所示:2.算法涉及理论知识概要在现代通信系统中,调制技术是实现高速数据传输和频谱效率优化的重要手段。其中,64QAM调制技术是一种常见的高......