前幾天寫了Elasticsearch 的安裝,這次來看Elasticsearch 的圖形界面工具kibana的搭建與數據測試。
這個搭建比較簡單,步驟如下:
首先下載安裝包,這個可以去官網下載。我下載的是7.6.1版本。
放到opt目錄,解壓:
<code>tar -xzf tar -xzf kibana-7.2.0-linux-x86_64.tar.gz/<code>
後續操作在 kibana-7.6.1-linux-x86_64 目錄內進行,為方便操作,將目錄名稱通過mv修改成kibana。
mv kibana-7.6.1-linux-x86_64 kibana
cd kibana
接著,編輯 ./config/kibana.yml
<code>server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://10..18.內.內:9200"]
i18n.locale: "zh-CN" # 配置中文界面,可選/<code>
最後,修改 ECS 安全組,放行 5601 端口
啟動 kibana
<code>./bin/kibana/<code>
瀏覽器訪問安裝kibana的機器地址,
http://外.外.外.外:5601/,可以看到如下界面:
我們這裡打開左邊欄,左下角的Kibana Dev Tools工具,
這裡就可以寫命令了,常用命令如下:
常用命令
集群信息
- 查看集群是否健康
<code># 查看集群健康狀態
GET /_cluster/health/<code>
- 查看節點列表
<code># 查看節點列表
GET /_cat/nodes?v/<code>
索引
- 查看所有索引
<code># 查看所有索引
GET /_cat/indices/<code>
- 查看某個索引的 mapping
<code># 查看某個索引的 mapping
GET /kibana_sample_data_ecommerce/_mapping/<code>
- 查看某個索引的 settings
<code># 查看某個索引的 settings
GET /kibana_sample_data_ecommerce/_settings/<code>
創建索引
使用PUT命令,創建名稱為customer的索引
<code>PUT /customer?pretty/<code>
返回
<code>{ "acknowledged": true, "shards_acknowledged": true, "index": "customer"}/<code>
文檔
當索引創建完成後,我們就可以向索引插入數據了
插入一條ID為1的document
<code>PUT /customer/_doc/1?pretty
{ "name": "zhangSan"}/<code>
返回
<code>{ "_index": "customer", "_type": "_doc", "_id": "1", "_version": 1, "result": "created", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 0, "_primary_term": 1}/<code>
- 返回索引的所有文檔
<code># 返回索引的所有文檔
GET /customer/_search/<code>
- 根據ID查看文檔
<code># 根據ID查看文檔
GET /GET /customer/_search/_doc/1/<code>
- term 查詢精確匹配
<code># term 查詢精確匹配
GET /_search
{
"query": {
"term": {
"name": "zhangsan"
}
}
}
# 通過 Constant Score 將查詢轉換成一個 Filtering
# 避免算分,並利用緩存,提高性能
GET /_search
{
"query": {
"constant_score": {
"filter": {
"term": {
"name": "zhangsan"
}
}
}
}
}/<code>
- 通配符模糊查詢
<code># 通配符模糊查詢
GET /_search
{
"query": {
"wildcard": {
"name": "*zhang*"
}
}
}
# 通過 Constant Score 將查詢轉換成一個 Filtering
# 避免算分,並利用緩存,提高性能
GET /_search
{
"query": {
"constant_score": {
"filter": {
"wildcard": {
"name": "*zhang*"
}
}
}
}
}/<code>
替換Document
把我們剛剛創建的zhangSan替換為liSi
<code>PUT /customer/_doc/1?pretty
{ "name": "liSi"}/<code>
返回
<code>{ "_index": "customer", "_type": "_doc", "_id": "1", "_version": 2, "result": "updated", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 1, "_primary_term": 1}/<code>
與替換有相同功能的我們還可以更新
<code>POST /customer/_doc/1/_update?pretty{ "doc": { "name": "liSi" }}/<code>
刪除Document
刪除ID為1的記錄
<code>DELETE /customer/_doc/1?pretty/<code>
返回
<code>{ "_index": "customer", "_type": "_doc", "_id": "1", "_version": 3, "result": "deleted", "_shards": { "total": 2, "successful": 1, "failed": 0 }, "_seq_no": 2, "_primary_term": 1}/<code>
刪除索引
<code>DELETE /customer?pretty/<code>
返回
<code>{ "acknowledged": true}/<code>
閱讀更多 飛翔的肖恩 的文章