Go & ES7.4速学:Kibana 的部署,并加入第一条索引数据

Golang 347 字

在上一篇博文中,我们通过 curl 请求项 es 中添加了一条索引,提交数据的本质也是发送 http 请求。不过我们使用 curl 发送请求的时候没有提示,接下来我们使用 kibana 来提交数据。

目前大多数开发者应该都听说过 elk,e 就是es,其中的 k,就是 kibana ,一款为 es 设计的可视化工具,我们可以使用 kibana 来操作 es。

安装 kibana

docker pull blacktop/kibana:7.4

docker tag blacktop/kibnana:7.4 kb:7.4

版本必须和 es 保持一致。

启动 kibana

docker run --init -d --name kb -e elasticsearch.hosts="http://192.168.124.16:9200" \
 -p 5601:5601 kb:74

当启动成功后,我们访问 http://192.168.124.16:5601,点击 consolse。

console

在 kibana 中输入请求是有提示的:

代码提示

我们点击 play 按钮就会发送请求到 es 中。

play_button

这样我们就获得了在上节中设置的mapping。

用 GoSDK 向 ES 中插入第一条数据

接下来我们新增一个数据。

package main

import (
    "context"
    "fmt"
    "github.com/olivere/elastic/v7"
    "log"
)

func main() {
    client, err := elastic.NewClient(
        elastic.SetURL("http://192.168.124.16:9200/"),
        elastic.SetSniff(false),
    )
    if err != nil {
        log.Fatal(err)
    }
    ctx := context.Background()
    json := `{"news_title": "test1", "news_type":"php", "news_status":1}`
    data, err := client.Index().Index("news").Id("101").BodyString(json).Do(ctx)
    if err != nil {
        log.Fatal(data)
    }

    fmt.Println(data)
}
  • 在 es 中有 id 的概念,我们可以指定也可以自动生成,在这里我们指定了 id 为 101。
  • 我们用 BodyString 传入一个写死的 json 字符串,在真是项目中肯定是不会这么写!

接下来我们回到 kibana 中查看数据。

get

在 kibana 中可以查到我们的数据,证明写入成功了,其中 _source 存储的就是具体的值。

如果我们想要删除,只需要将 get 改为 DELETE 就可以了。

delete

successful:1 表示删除成功了,再去查询会发现 found: false,表示没有查询到数据。

get2

maksim
Maksim(一笑,吡罗),PHPer,Goper
OωO
开启隐私评论,您的评论仅作者和评论双方可见