1、Kibana的安装、配置及使用
本文将基于Kibana来讲解,再次之前需要安装Kibana工具。
- 进入Elasticsearch官网下载Kibana:https://www.elastic.co/downloads/kibana,需要注意的是Kibana的版本跟随着Elasticsearch的版本,所以需要下载跟你的Elasticsearch一致的版本。
- 解压kibana的压缩包,进入config目录下,修改kibana.yml文件中的elasticsearch.url参数,将localhost修改为你的Elasticsearch服务的IP。
- 启动bin目录下的kibana(基于Linux)或者bin目录下的kibana.bat(基于Windows)。
2、添加索引
添加索引
PUT /lib/ //lib是索引名
{
"settings":{
"index":{
"number_of_shards": 5, //分片数
"number_of_replicas": 1 //副本数
}
}
}
//这样创建的索引配置信息将是默认的
PUT lib2
//返回结果
{
"acknowledged": true,
"shards_acknowledged": true,
"index": "lib"
}
查看索引的配置信息
GET /lib/_settings
//返回结果
{
"lib":{
"settings":{
"creation_date": "1525922783367",
"number_of_shards": 5,
"number_of_replicas": 1,
"uuid": "ICnRur_NTn2s9sM04XE_rQ",
"version": {
"created": "6020499"
},
"provided_name": "lib"
}
}
}
//查看所有索引的配置
GET _all/_setings
添加文档
//分别为索引:_index、类型:_type、Id:_id,
//id不设置将会自动生成一个随机且唯一的字符串作为该文档的id(需要使用POST请求)
PUT /lib/user/1
{
"frist_name": "Jane",
"last_name": "Smith",
"age": 32,
"about": "I like to collect rock albums",
"interests": ["music"]
}
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 1,
"result": "created", //返回请求结果
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 0,
"_primary_trem": 1
}
查看文档
GET /lib/user/1
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"frist_name": "Jane",
"last_name": "Smith",
"age": 32,
"about": "I like to collect rock albums",
"interests": [
"music"
]
}
}
//查看部分字段
GET /lib/user/1?_source=age,about
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 1,
"found": true,
"_source": {
"about": "I like to collect rock albums",
"age": 32
}
}
更新文档
//覆盖式修改PUT
PUT /lib/user/1
{
"frist_name": "Jane",
"last_name": "Smith",
"age": 36, //原本的age是32
"about": "I like to collect rock albums",
"interests": ["music"]
}
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 2, //更新版本发生了改变
"result": "updated", //返回请求结果发生了改变
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 1, //
"_primary_trem": 1
}
//直接更新
POST /lib/user/1/_update
{
"doc":{
"age": 30
}
}
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 3, //更新版本再次发生了改变
"result": "updated", //返回请求结果依然为updated
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 2,
"_primary_trem": 1
}
删除索引
//删除一个文档
DELETE /lib/user/1
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"_version": 4, //更新版本再次发生了改变
"result": "deleted", //返回请求结果deleted
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"_seq_no": 3,
"_primary_trem": 1
}
//此时再次获取id为1的文档
GET /lib/user/1
//返回结果
{
"_index": "lib",
"_type": "user",
"_id": "1",
"found": false
}
//删除一个索引
DELETE /lib
//返回结果
{
"acknowledged": true
}