Elasticsearch:匯入本地資料和使用Kibana管理資料(樓主親測,真實有效)
阿新 • • 發佈:2018-11-09
匯入資料
Elasticsearch和Kibana的結合就是用來檢索和分析資料的,那麼這個資料怎麼來,肯定是匯入進去的。
一、匯入資料的說明
Elasticsearch在官方的文件探索你的資料中,有說需要將本地資料匯入到Elasticsearch中。
那麼怎麼匯入,這個就是一個問題了。
二、匯入資料
在這邊只需要匯入資料即可。ES預設會幫助我們建立Key-Value的對映,並且會給出預設的Key的型別。預設的可能不符合你的要求,請看第三步。
例如:
line_id
、play_name
這樣的是鍵(key)
INT
、String
這樣的是鍵的型別。
"line_id" : INT,
"play_name": "String",
"speech_number": INT,
"line_number": "String",
"speaker": "String",
"text_entry": "String",
}
Elasticsearch文件中要求的是JSON規範的文件資料,那麼在這裡可以很方便的獲取到符合標準的JSON文件Json生成。
我這邊已經有一個生成好的JSON文件資料檔案。
~/Documents/es ⌚ 15:02:00
$ ls
accounts.json
注意:一定要在這個檔案所在的同一路徑下執行將檔案載入到Elasticsearch叢集中。
在我機器執行示例:
~/Documents/es ⌚ 15:20:22
$ curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"
命令是:我這裡的localhost
是說明這個ES服務跑在我本機。
curl -H "Content-Type: application/json" -XPOST "localhost:9200/bank/_doc/_bulk?pretty&refresh" --data-binary "@accounts.json"
命令執行正確的響應結果:
當然我這裡只截取了兩條,省略了,具體的會根據你的檔案量生成響應。
{
"took":279,
"errors":false,
"items":[
{
"index":{
"_index":"bank",
"_type":"_doc",
"_id":"1",
"_version":1,
"result":"created",
"forced_refresh":true,
"_shards":{
"total":2,
"successful":1,
"failed":0
},
"_seq_no":0,
"_primary_term":1,
"status":201
}
},
{
"index":{
"_index":"bank",
"_type":"_doc",
"_id":"1",
"_version":1,
"result":"created",
"forced_refresh":true,
"_shards":{
"total":2,
"successful":1,
"failed":0
},
"_seq_no":0,
"_primary_term":1,
"status":201
}
}
]
}
三、檢視匯入是否成功
資料匯入了,現在要檢視是否匯入成功。
執行一條檢視所有索引情況的命令:
curl "localhost:9200/_cat/indices?v"
得出的正確響應:
意味著我們已經將1000條資料,匯入到了索引為bank
下,並且在_doc
型別下。
~/Documents/es ⌚ 15:20:22
$ curl "localhost:9200/_cat/indices?v"
health status index uuid pri rep docs.count docs.deleted store.size pri.store.size
yellow open customer LtbHvkQ3R4GS_41Fi_Y_eg 5 1 6 0 20.8kb 20.8kb
yellow open bank XIDwelSnQZec6V_4bHIzlg 5 1 1000 0 475.1kb 475.1kb
green open .kibana WZ_XKyA3RfaGIXiW3D4z-Q 1 0 1 0 3.7kb 3.7kb
yellow open user NnPXumxMRSGc-X7BXkDV9A 5 1 1 0 4.4kb 4.4kb
~/Documents/es ⌚ 15:30:09
$
四、在Kibana
中搜索資料
1、進入Kibana
2、搜尋剛剛建立的索引bank
,點選下一步
3、點選下一步,建立搜尋匹配符
4、然後看到了這一步就可以搜尋了
5、怎麼搜尋
搜尋的時候,並不是說你去搜索欄位。
比如說我bank
索引下,目前有1000條資料。
我匯入的資料:
我現在要搜尋:
firstname
欄位對應的值為Nanette
。
直接輸入Nanette
就可以搜到結果了。
6、過濾搜尋
例如搜尋balance
在0-20000
區間的資料。
那麼結果就搜尋出來啦!
好啦,具體的其他的體驗,請大家根據各自的需求去調整!