借助【Kibana】的图形用户界面轻松查看在【Elasticsearch】中输入的数据的搜索系统

首先

大家是否在开发搜索系统?

在使用 Elasticsearch 创建搜索系统时,你是否想要查看投入到 Elasticsearch 中的数据内容呢?

    • Elasticsearch へデータを送信するシステムが正常に動作しているか確認したい!

 

    • 検索オプションを実装したけど、0件しかヒットしなかった!あれ?該当するデータ入れたっけ?

 

    などなど…

在这种情况下,您可以使用curl命令发送match_all查询来进行调查,但是您肯定希望通过图形用户界面(GUI)快速确认,对吧?因此,在本文中,我们将介绍如何通过Kibana快速确认在Elasticsearch中输入的数据的方法。

最终,您可以在Elasticsearch中确认以下数据。

image.png

使用Kibana轻松查看在Elasticsearch中添加的数据。

我已经在以下环境中进行了操作验证。

    • Ubuntu 20.04

 

    • Elasticsearch 7.10.2

 

    Kibana 7.10.2

首先介绍如何准备一个已经导入样本数据的 Elasticsearch 服务器,然后介绍如何通过 Kibana 快速确认数据。

准备一个已经输入了样本数据的 Elasticsearch 服务器。

如果已经有一个已经输入数据的 Elasticsearch 服务器,那么您可以跳过本节并继续进行“在 Kibana 中快速查看数据”的步骤!

首先,下载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 ,并确认能否成功启动。如果显示如下内容,则表示正常。

image.png

点击「单独探索」

image.png

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

image.png

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

image.png

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

image.png

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

image.png

既经完成索引设置,我们现在开始快速浏览 Elasticsearch 的内容吧。

从左上方的汉堡包图标打开菜单,然后选择“Kibana > Discover”进行打开。
这样,就可以像下面的屏幕一样,确认Elasticsearch的内容!

此外,您还可以通过在丈夫的输入表单中输入Kibana查询语言(KQL)来进行筛选。

当使用Kibana设置索引并设置时间字段时,可能只会显示最近注册的数据。在这种情况下,可以通过更改KQL条件来查看其他数据。

image.png

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

image.png

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

image.png

最后(一句)

除了我本次介绍的功能外,Kibana 还有许多其他功能,我自己迄今为止还没有完全利用到。

如果你在使用Elasticsearch,那么强烈推荐你与Kibana相结合,因为它们非常兼容!

bannerAds