本次换为Kibana操作ElasticSearch
1.kibana安装
基于7.10版本安装,同es安装一样,参考csdnElasticSearch安装博客
安装后访问5601端口界面如下图所示:
主要使用kibana的devtools访问es,替代postman
2.索引的操作
2.1 创建索引及文档第一个示例
PUTtwitter/_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 删除索引
DELETEtwitter
2.4 单独创建索引
2.1中是通过新建文档的形式自动创建索引,也可以单独创建索引,并指定分片,副本,映射参数
PUTtwitter
单独创建索引,使用默认参数 默认分片1,副本1
PUTtwitter{ "settings": { "number_of_replicas": 2, "number_of_shards": 2 }, "mappings": { "properties":{ "name":{ "type":"text" }, "id":{ "type":"long" } } } }
创建了一个两个分片,两个副本的索引,并指定了该索引的mappings
3. 文档的增删改查
3.1 新增文档
使用put请求新增文档
POSTtwitter/_doc/1{ "name":"zy", "id":1}
其中twitter就是index名称,_doc就是默认的type名称,1是指定的文档id,如果不指定,es会自动生成一个随机id
3.2 删除文档
DELETEtwitter/_doc/1
指定删除文档的id
3.3 修改文档
PUTtwitter/_doc/1{ "name":"zy", "id":1}
每次修改会使文档的version加1,如果指定id的文档不存在,会自动创建一个新文档,version为1
3.4 查询文档
GETtwitter/_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的数据