ES参考网站

ES的介绍:
Elasticsearch(ES)是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,ES能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。

ES的基本概念:
1.当你经营一家网上商店,你可以让你的客户搜索你卖的商品。在这种情况下,你可以使用ElasticSearch来存储你的整个产品目录和库存信息,为客户提供精准搜索,可以为客户推荐相关商品。
2.当你想收集日志或者交易数据的时候,需要分析和挖掘这些数据,寻找趋势,进行统计,总结,或发现异常。在这种情况下,你可以使用Logstash或者其他工具来进行收集数据,当这引起数据存储到ElasticsSearch中。你可以搜索和汇总这些数据,找到任何你感兴趣的信息。
3.对于程序员来说,比较有名的案例是GitHub,GitHub的搜索是基于ElasticSearch构建的,在github.com/search页面,你可以搜索项目、用户、issue、pull request,还有代码。共有40~50个索引库,分别用于索引网站需要跟踪的各种数据。虽然只索引项目的主分支(master),但这个数据量依然巨大,包括20亿个索引文档,30TB的索引文件

ES基本概念与关系型数据库的比较:

ES的安装配置参考链接
(建议装7.2.1版本)
ES的启用:打开bin目录下的elasticsearch.bat
ES默认端口为:127.0.0.1:9200
配置成功时

查看健康状态

curl -X GET 127.0.0.1:9200/_cat/health?v

查询当前ES集群中所有的indices

curl -X GET 127.0.0.1:9200/_cat/indices?v

创建索引

curl -X PUT 127.0.0.1:9200/student //创建student的库

插入记录

curl -H "ContentType:application/json" -X POST 127.0.0.1:9200/user/person -d '
{"name": "dsb","age": 9000,"married": true
}'
//向user数据库发送一个person类型的json数据

检索

curl -X GET 127.0.0.1:9200/user/person/_search

ES插入实例

package main//ES domoimport ("context""fmt""github.com/olivere/elastic/v7"
)//Student ...
type Student struct {Name    string `json:"name"`Age     int    `json:"age"`Married bool   `json:"married"`
}func (s *Student) run() {fmt.Printf("%s在跑...", s.Name)
}func (s *Student) wang() {fmt.Printf("%s在汪...", s.Name)
}func main() {//1.初始化连接,得到一个clientclient, err := elastic.NewClient(elastic.SetURL("http://127.0.0.1:9200"))if err != nil {panic(err)}fmt.Println("connect to es success")p1 := Student{Name: "Rion", Age: 22, Married: false}//链式操作put1, err := client.Index().Index("Student"). //Index表数据库Type("go").       //Type是表BodyJson(p1).     //把一个go语言的对象转换为json格式Do(context.Background())if err != nil {panic(err)}fmt.Printf("Indexed Student %s to index %s,type %s\n", put1.Id, put1.Index, put1.Type)
}

golang入门笔记—ES相关推荐

  1. Golang 入门笔记(二)下

    目录 文章目录 目录 修改字符串 连接字符串 格式化 格式表 BASE64编码 常量 枚举--一组常量值 类型别名与类型定义 非本地类型不能定义方法 在结构体成员嵌入时使用别名 紧接上文 修改字符串 ...

  2. Golang 入门笔记(一)

    初识 Go 语言 本章主要介绍了以下内容: Go 语言的特性: (2)使用 Go 语言的开源项目: (3)安装 Go 语言开发包和搭建其开发环境. 目录 文章目录 初识 Go 语言 目录 s1 Go语 ...

  3. Golang 入门笔记(二)中

    目录 文章目录 目录 转换不同的数据类型 指针 指针地址和指针类型 使用指针修改值 使用指针变量获取命令行的输入信息 创建指针 new() 变量生命期 栈 堆 变量逃逸 字符串应用 计算字符串长度 遍 ...

  4. Golang 入门笔记(二)上

    目录 文章目录 目录 Go 语言基本语法与使用 2.1 变量 2.1.1 声明变量 2.1.2 初始化变量 2.1.3 多个变量同时赋值 2.1.4 匿名变量---没有名字的变量 2.2 数据类型 整 ...

  5. Golang入门笔记(14)—— 错误处理

    来一个除以0的异常,代码如下: package mainimport "fmt"func main() {fmt.Println("before")divNum ...

  6. golang入门笔记——kitex

    文章目录 WSL的安装 Kitex Kitex的准备工作 创建IDL文件 生成代码 一个问题以及解决 客户端的调用 链路追踪 为什么需要链路追踪 OpenTelemetry链路追踪 服务注册与发现 W ...

  7. golang入门笔记—结构体

    //type后面跟的是类型 type myInt int //自定义类型,%T输出为main.myInt type yourInt=int//类型别名,只是在代码编写过程中起作用 var n myIn ...

  8. golang入门笔记—channel

    //channel//var b chan <类型> //通道必须用make函数初始化才能使用//通道的操作 //1.发送:ch1<-1 //2.接收:x:=<-ch1 //3 ...

  9. golang学习笔记(基础篇)

    LCY~~Golang学习笔记 一.Go语言开发环境 ##安装Go开发包以及VsCode Go开发包与vscode配置安装教程网址:https://www.liwenzhou.com/posts/Go ...

最新文章

  1. webpack把源代码里面的console和debugger全部去掉_在webpack中,module、chunk和bundle到底是什么样的存在?...
  2. 一文看懂如何搭建AI应用:10周学会深度学习,还赢下5千美元
  3. linux磁盘高,CentOS 7.2中磁盘iowait过高解决
  4. python tkinter库 密码实时显示_Python3 tkinter基础 Entry show textvariable 密码输入框
  5. python 把函数作为参数 ---高阶函数
  6. java memcached incr_Memcached incr/decr 命令
  7. 微软“抛弃”Edge 投入 Chromium 怀抱!
  8. 库没启动,报:ORA-01034: ORACLE not available
  9. mysql 5.6.14 winx64_MySQL-5.6.14-winx64的免安装配置方法
  10. vs2008中Doxygen的使用
  11. linux 编译mtk无线驱动,Linux驱动(七)----MTK驱动注册分析
  12. 使用螺旋桨PaddleHelix完成RNA结构预测竞赛的前置基础知识整理
  13. 工业4.0智能电批扭力输出异常问题
  14. 移动前端开发的一些简单分类!
  15. 美股相关交易规则与业务知识
  16. 〖Python自动化办公篇⑰〗- PPT 文件自动化 - PPT 插入表格与图片
  17. Acwing算法提高课—搜索
  18. python 获取网页元素_Python爬虫--解析网页中的元素
  19. 三维电子沙盘大数据互动触摸交互可视化地理信息系统
  20. win7关闭程序兼容性助手和windows Defender

热门文章

  1. 业界前沿技术:从零开始学视觉Transformer-Data-Efficient Image Transformers
  2. 微信小程序上传图片至服务器Springboot接收格式的问题
  3. [笔记]音视频学习之SDL篇《六》使用SDL_ttf绘制True Type字体
  4. 【深度学习之美02】深度学习的方法论是什么?
  5. 小米路由器提示网络连接问题
  6. AD RMS服务器部署(一)RMS安装
  7. LeetCode每日一题——Day17
  8. es拼音分词 大帅哥_机器学习
  9. 2021年秋招面经分享·乐鑫【数字IC设计工程师】
  10. php 根据银行卡号获取所属银行