「这是我参与2022首次更文挑战的第17天,活动详情查看:2022首次更文挑战」。
本次换为Kibana操作ElasticSearch
1.kibana安装
基于7.10版本安装,同es安装一样,参考csdnElasticSearch安装博客
安装后访问5601端口界面如下图所示:
主要使用kibana的devtools访问es,替代postman
2.索引的操作
2.1 创建索引及文档第一个示例
PUT twitter/_doc/1
{
"user":"GB",
"uid":1,
"city":"Beijing",
"province":"Benjing",
"country":"China"
}
在kibana的devtools中创建索引及文档,使用如上参数
这个参数其实是一个新增文档的记录,但是这个文档对于的index也会随之创建,这是因为es无需先创建表结构,会根据文档自动创建index
2.2 开启关闭es自动创建索引的配置项
这其实是一个配置项,可以关闭
如下请求关闭
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index":"false"
}
}
其实也是一个请求,新增集群配置,设置自动创建索引为false.
删除此配置
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index":null
}
}
2.3 删除索引
DELETE twitter
2.4 单独创建索引
2.1中是通过新建文档的形式自动创建索引,也可以单独创建索引,并指定分片,副本,映射参数
PUT twitter
单独创建索引,使用默认参数 默认分片1,副本1
PUT twitter
{
"settings": {
"number_of_replicas": 2,
"number_of_shards": 2
},
"mappings": {
"properties":{
"name":{
"type":"text"
},
"id":{
"type":"long"
}
}
}
}
创建了一个两个分片,两个副本的索引,并指定了该索引的mappings
3. 文档的增删改查
3.1 新增文档
使用put请求新增文档
POST twitter/_doc/1
{
"name":"zy",
"id":1
}
其中twitter就是index名称,_doc就是默认的type名称,1是指定的文档id,如果不指定,es会自动生成一个随机id
3.2 删除文档
DELETE twitter/_doc/1
指定删除文档的id
3.3 修改文档
PUT twitter/_doc/1
{
"name":"zy",
"id":1
}
每次修改会使文档的version加1,如果指定id的文档不存在,会自动创建一个新文档,version为1
3.4 查询文档
GET twitter/_search?pretty=true
不添加所有参数,直接查询 返回的数据如下
- took 为请求时间
- timed_out为超时时间,默认请求不超时,如果对响应时间有要求,可以在请求路径上添加timed_out参数
- _shards返回参与查询的分片数
-
- total 总分片数
- successful 成功2个
-
- skipper 跳过0个
- failed 失败0个
- hits 是返回的数据列表,es会返回匹配的文档个数,以及默认前10个文档
-
- total 匹配的总数量
- max_score 文档相关性 1为中性 此次查询为不加任何参数查询,所以与所有文档的相关性都一样,如果有参数,会默认安装文档的相关性倒序排序,相关性高的在上面,类似搜索引擎
-
- hits 数据列表,如果数据比较多的情况下,会返回前10条数据 每条数据中包含了文档的_index,_type,_id,_score,_source属性
-
-
- _source是对应文档的数据
-
还可以根据文档id查询文档数据
GET twitter/_doc/1
查询文档id为1的数据