前提条件:
【ElasticSearch入门】Windows下ElasticSearch、Head安装及分布式集群搭建
1. 保证elasticsearch已正常启动
2. 启动elasticsearch-head
3. 建立简单集群,包含一个master节点以及至少一个slave节点,均正常启动
一、Kibana安装与启动
安装及启动步骤:
- 下载https://www.elastic.co/cn/downloads/kibana,注意版本号与elasticsearch版本号必须一致!!!
- 解压后,进入kibana下的bin目录,可以看到kibana.bat文件
- 启动方式一:直接双击kibana.bat
启动方式二:在cmd下进入kibana的bin目录,输入kibana.bat,回车启动 - 输入http://localhost:5601/进入kibana主页面。第一次启动会显示是否Add data,右边有一个自己定义的按钮,点击进去home界面。
- 点击Dev tools进入控制台,对es的主要操作将在控制台完成。也可以在左上角目录,下滑寻找Dev Tools入口进入控制台。或复制http://localhost:5601/app/dev_tools#/console到浏览器地址栏进入。
二、使用Kibana控制台进行CRUD操作
1. 添加索引(index)
Tips: 添加索引,类似关系型数据库的建库操作
- 在控制台输入命令
# 创建索引
# 指定分片shards和副本replicas的数量
# shards一旦设置不能修改
PUT jobinfo
{
"settings":{
"index":{
"number_of_shards":5,
"number_of_replicas":1
}
}
}
- 点击右边对应的三角图标运行
- 运行成功,右侧显示如图中所示。如果运行失败,右侧信息栏会提示具体的原因(“reason”)。
- 进入elasticsearch-head界面,点击刷新,可以看到刚刚新建的索引jobinfo,包含5个分片(0,1,2,3,4),1个副本。
2. 修改索引
- 在控制台输入命令,将刚刚建立的索引副本改为2,运行
# 修改settings
PUT jobinfo/_settings
{
"number_of_replicas":2
}
- 运行成功后,进入elasticsearch-head界面,查看。边框未加粗的为副本,可以看到这里每一个分片的副本数由刚刚的1个变成了2个。
3. 插入文档(document)
Tips:
1. 插入文档,类似于关系型数据中的插入数据,文档是Elasticsearch中的最小数据单元,常以json格式显示
2. 新增文档,可以使用PUT,也可以使用POST,格式POST/PUT [index]/[type]/[id],id如果不指定会自动生成
3. index(索引)类似于库名,type(类型)类似于表名,此例子中索引名称为jobinfo,类型名为job
- 在控制台输入命令
# 插入文档
POST jobinfo/job
{
"title":"python django开发工程师",
"salary_min":30000,
"city":"上海",
"company":{
"name":"美团科技",
"company_addr":"北京市软件园A区"
},
"publish_date":"2017-4-16",
"comments":20
}
# 插入文档
PUT jobinfo/job/1
{
"title":"python分布式爬虫开发",
"salary_min":15000,
"city":"北京",
"company":{
"name":"百度",
"company_addr":"北京市软件园"
},
"publish_date":"2017-4-16",
"comments":15
}
- 运行成功后,进入elasticsearch-head界面,点击数据浏览,点击jobinfo索引,可以看到插入的数据。
4. 修改文档
Tips:修改文档有两种方式
1. 整体覆盖,使用PUT方法,与插入使用方法文档相同,替换整个原有的文档
2. 使用_update单独修改某些字段
- 控制台输入
# 修改文档
# 覆盖
PUT lagou/job/1
{
"title":"python分布式爬虫开发",
"salary_min":15000,
"company":{
"name":"百度",
"company_addr":"北京市软件园"
},
"publish_date":"2017-4-16",
"comments":15
}
- 运行成功后,进入elasticsearch-head界面,点击数据浏览,点击jobinfo索引,可以看到插入的数据,被修改文档的city字段为空。
- 控制台输入
# 增量修改某些字段
POST jobinfo/job/1/_update
{
"doc":{
"city":"武汉",
"publish_date":"2021-4-9"
}
}
- 运行成功后,进入elasticsearch-head界面,点击数据浏览,点击jobinfo索引,可以看到插入的数据中,city和publish_date两个字段已被修改为指定值。
5. 查询
使用GET查询,查询结果在控制台右侧显示
# 获取索引信息
GET _all
GET jobinfo
# 获取索引名为jobinfo的setting值
GET jobinfo/_settings
# 获取所有索引的setting值
GET _all/_settings
# 获取多个索引的setting值
GET jobinfo,test/_settings
# 获取文档字段值信息
# 获取全部字段
GET jobinfo/job/1/_source
# 获取单个字段值,获取字段名为title的字段值
GET jobinfo/job/1?_source=title
# 获取多个字段值,获取字段名为title,city的字段值
GET jobinfo/job/1?_source=title,city
6. 删除
# 删除某一个文档
DELETE jobinfo/job/1
# 删除type,es不允许删除type
DELETE jobinfo/job
# 删除索引,运行成功后索引被移除
DELETE jobinfo