配置好kibana后启动访问:http://192.168.0.103:5601(如果没有配置ip可以用localhost:5601启动)
基本操作:
PUT /lib/ ----lib是索引名
{
"settings":{
"index":{
"number_of_shards": 5, ------------# 分片数
"number_of_replicas": 1 -----------# 副本数
}
}
}
# 这样创建的索引配置信息将是默认的
PUT lib2 ---默认分片数是五 ,副本数是1
查看lib索引相关信息
GET /lib/_settings
------# 查看所有索引的配置
GET _all/_setings
添加文档:
# 分别为索引:_index、类型:_type、Id:_id,
# id不设置将会自动生成一个随机且唯一的字符串作为该文档的id(需要 使用POST请求)
PUT /lib/user/1 -------------1 代表id
{
"frist_name": "Jane",
"last_name": "Smith",
"age": 32,
"about": "I like to collect rock albums",
"interests": ["music"]
}
# 查看文档
GET /lib/user/1
# 查看部分字段
GET /lib/user/1?_source=age,about
#更新文档
# 覆盖式修改PUT
PUT /lib/user/1 ----------需要写入全部字段
{
"frist_name": "Jane",
"last_name": "Smith",
"age": 36, # 原本的age是32
"about": "I like to collect rock albums",
"interests": ["music"]
}
# 直接更新
POST /lib/user/1/_update ---------只写入部分字段
{
"doc":{
"age": 30
}
}
# 删除一个文档
DELETE /lib/user/1
# 删除一个索引
DELETE /lib
Multi Get APi
GET /_mget --------------批量获取文档
{
“docs”:[
{
“_index”:lib,
“_type”:”user”,
“-id”:3 -----------获取id为3的数据
},
{
“_index”:lib,
“_type”:”user”,
“-id”:2 --------------获取id为2的数据
}
]
}
获取同索引,
GET /索引/类型/_mget -----------简化获取相同索引相同类型的数据
最后简化:
GET /索引/类型/_mget
{
“ids”:[“1”,”2”] ----------获取id为1,2,的数据
}
使用Bulk api实现批量操作
Bulk的格式:
{action:{metadata}}\n ------要换行
Action:create,update,index 更新或替换已有的文档,delete
Metadata:_index ,_type
用法:
POST /lib2/books/_bulk
返回:erros为false的时候为添加成功
内部版本控制:使用的是乐观锁操作:操作一次版本数+1
如果版本号跟文档的版本库不一致的适合,会报版本异常. ?Version
外部版本控制:version_type=external,这样的话提供的版本号必须大于文档的本身的版本号才可以使用,并把版本值赋值给文档