本文讲解采用kibana工具操作:
配置kibana
下载kibana解压,找到根目录下的 config 文件夹下的 kibana.yml ,修改配置如下
- **到目前为止(官方目前最新版本是6.4),官方的意思是:暂不支持连接多个es节点,也就是上面的配置文件中,只能填写一个地址。**官网提供的另外的解决方案:https://www.elastic.co/guide/en/kibana/6.4/production.html#load-balancing
大致意思是:
搭建一个只用来“协调”的es节点,让这个节点加入到es集群中,然后kibana连接这个“协调”节点,这个“协调”节点,不参加主节点选举,也不存储数据,只是用来处理传入的HTTP请求,并将操作重定向到集群中的其他es节点,然后收集并返回结果。这个“协调”节点本质上也起了一个负载均衡的作用。
安装xpack插件后,可以开启登录验证,如果密码配置如下:
配置完成可就可以启动,访问了:http://localhost:5601
基本概念
_index 文档在哪存放
_type 文档表示的对象类别
_id 文档唯一标识
Index API
# 创建索引(插入数据,没有索引会创建)
PUT twitter/_doc/1
{
"user" : "kimchy",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
total-指示索引操作应在多个碎片副本(主碎片和副本碎片)上执行。
successful-指示索引操作成功执行的碎片复制数。
failed-如果索引操作在副本碎片上失败,则包含与复制相关错误的数组
# 允许创建 叫twitter,index10 没有其他的折射率匹配index1*,以及任何其他折射率匹配ind*。模式按照给定的顺序进行匹配
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "twitter,index10,-index1*,+ind*"
}
}
# 不允许 自动创建索引
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "false"
}
}
# 允许创建所有类型索引
PUT _cluster/settings
{
"persistent": {
"action.auto_create_index": "true"
}
}
Get API
# 根据id查询
GET twitter/_doc/1
Delete API
# 根据id删除
DELETE /twitter/_doc/1
# 根据查询条件删除
POST twitter/_delete_by_query
{
"query": {
"match": {
"user": "kimchy"
}
}
}
Bulk API
#多条命令一起执行
POST _bulk
{ "index" : { "_index" : "test", "_type" : "_doc", "_id" : "1" } }
{ "field1" : "value1" }
{ "delete" : { "_index" : "test", "_type" : "_doc", "_id" : "2" } }
{ "create" : { "_index" : "test", "_type" : "_doc", "_id" : "3" } }
{ "field1" : "value3" }
{ "update" : {"_id" : "1", "_type" : "_doc", "_index" : "test"} }
{ "doc" : {"field2" : "value2"} }
Update API
POST twitter/_doc/3/_update
{
"doc" : {
"user" : "liuli-new"
}
}
Reindex API
POST _reindex
{
"source": {
"index": "twitter"
},
"dest": {
"index": "new_twitter"
}
}
本文只是简单列举了几个例子,es的api文档很多,可根据自己的需要参考官方文档学习
参考文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.5/docs.html