借助【Kibana】的图形用户界面轻松查看在【Elasticsearch】中输入的数据的搜索系统
首先
大家是否在开发搜索系统?
在使用 Elasticsearch 创建搜索系统时,你是否想要查看投入到 Elasticsearch 中的数据内容呢?
-
- Elasticsearch へデータを送信するシステムが正常に動作しているか確認したい!
-
- 検索オプションを実装したけど、0件しかヒットしなかった!あれ?該当するデータ入れたっけ?
- などなど…
在这种情况下,您可以使用curl命令发送match_all查询来进行调查,但是您肯定希望通过图形用户界面(GUI)快速确认,对吧?因此,在本文中,我们将介绍如何通过Kibana快速确认在Elasticsearch中输入的数据的方法。
最终,您可以在Elasticsearch中确认以下数据。

使用Kibana轻松查看在Elasticsearch中添加的数据。
我已经在以下环境中进行了操作验证。
-
- Ubuntu 20.04
-
- Elasticsearch 7.10.2
- Kibana 7.10.2
首先介绍如何准备一个已经导入样本数据的 Elasticsearch 服务器,然后介绍如何通过 Kibana 快速确认数据。
准备一个已经输入了样本数据的 Elasticsearch 服务器。
首先,下载Elasticsearch。我参考了官方文档中提到的方法。
请使用以下命令进行下载、解压和启动。
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linux-x86_64.tar.gz
tar -xzvf elasticsearch-7.10.2-linux-x86_64.tar.gz
cd elasticsearch-7.10.2
./bin/elasticsearch
如果启动成功,请按以下步骤确认。
$ curl http://localhost:9200/
{
"name" : "XXXXXXXXXXXX",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "PREUZaNLQeWk7XBeFHt39Q",
"version" : {
"number" : "7.10.2",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
"build_date" : "2021-01-13T00:42:12.435326Z",
"build_snapshot" : false,
"lucene_version" : "8.7.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
下一步是将示例数据输入。我参考了以下文档中关于如何输入示例数据的方法。
你可以在以下地方获取适用于Elasticsearch的莎士比亚样本数据。
$ curl -O https://download.elastic.co/demos/kibana/gettingstarted/7.x/shakespeare.json
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 24.1M 100 24.1M 0 0 8333k 0 0:00:02 0:00:02 --:--:-- 8330k
$ ls
shakespeare.json
为了注册数据,让我们创建一个映射。
curl -X PUT "localhost:9200/shakespeare?pretty" -H 'Content-Type: application/json' -d'
{
"mappings": {
"properties": {
"speaker": {"type": "keyword"},
"play_name": {"type": "keyword"},
"line_id": {"type": "integer"},
"speech_number": {"type": "integer"}
}
}
}
'
然后,使用以下命令将数据插入。
curl -H 'Content-Type: application/x-ndjson' -XPOST 'localhost:9200/shakespeare/_bulk?pretty' --data-binary @shakespeare.json
当使用以下命令检查索引时,似乎已成功注册了111,396项。
$ curl -XGET 'localhost:9200/_cat/indices?v'
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open shakespeare oZy1_qOsSpuEIe9jEjE6pg 1 1 111396 0 18.1mb 18.1mb
这样,数据已成功导入 Elasticsearch,并且准备工作已就绪。
用Kibana快速查看数据。
我安装了Kibana。参考了下面的文档。
curl -O https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-linux-x86_64.tar.gz
curl https://artifacts.elastic.co/downloads/kibana/kibana-7.10.2-linux-x86_64.tar.gz.sha512 | shasum -a 512 -c -
tar -xzf kibana-7.10.2-linux-x86_64.tar.gz
cd kibana-7.10.2-linux-x86_64/
./bin/kibana
请在浏览器中访问 http://localhost:5601 ,并确认能否成功启动。如果显示如下内容,则表示正常。

点击「单独探索」

我們將進行設定,以查看Elasticsearch的數據。
點擊右上角的「管理」。

打开位于左侧边栏底部的“索引模式”。

在这里,我们将对Elasticsearch的索引进行设置。
在「索引模式名称」中输入索引名称(如果是示例数据,则为shakespeare),然后点击「下一步」。

接下来选择与时间相关的字段。如果使用示例数据,则没有与时间相关的字段,直接点击“创建索引模式”即可。

既经完成索引设置,我们现在开始快速浏览 Elasticsearch 的内容吧。
从左上方的汉堡包图标打开菜单,然后选择“Kibana > Discover”进行打开。
这样,就可以像下面的屏幕一样,确认Elasticsearch的内容!
此外,您还可以通过在丈夫的输入表单中输入Kibana查询语言(KQL)来进行筛选。
当使用Kibana设置索引并设置时间字段时,可能只会显示最近注册的数据。在这种情况下,可以通过更改KQL条件来查看其他数据。

在Kibana中,有很多方便的功能可以查看其他数据。例如,您可以显示类似下面的词云(选择Visalizer然后选择Tag Cloud即可显示)。

我想再介绍一个功能,Dev Tools 能够编辑和执行查询。非常方便!

最后(一句)
除了我本次介绍的功能外,Kibana 还有许多其他功能,我自己迄今为止还没有完全利用到。
如果你在使用Elasticsearch,那么强烈推荐你与Kibana相结合,因为它们非常兼容!