1.ES基本概念介绍
1.1 ES是什么
Elasticsearch 是一个分布式、RESTful 风格的搜索和数据分析引擎。
1.2 ES主要功能
数据存储、数据搜索、数据分析
1.3 ES相关术语
1.3.1 文档 Document
Document 文档就是用户存在 es 中的一些数据,它是es 中存储的最小单元。(类似于表中的一行数据)。
每个文档都有一个唯一的 ID 表示,可以自行指定,如果不指定 es 会自动生成。
1.3.2 索引 Index
索引其实是一堆文档 Document 的集合。(它类似数据库的中的一个表)
1.3.3 字段 Filed
在 ES 中,Document就是一个 Json Object,一个Json Object其实是由多个字段组成的,每个字段它有不同的数据类型
常见的字段数据类型
字符串:text、keyword。
数值型:long,integer,short,byte,double,float
布尔:boolean
日期:date
二进制:binary
范围类型:integer_range,float_range,long_range,double_range,date_range
1.3.4 ES术语总结
ES索引、文档、字段关系小结:
一个索引里面存储了很多的 Document 文档,一个文档就是一个json object,一个json object是由多个不同或相同的 filed 字段组成;
1.4 ES操作方式
ES 的操作和我们传统的数据库操作不太一样,它是通过 RestfulAPI 方式进行操作的,其实本质上就是通过 http 的方式去变更我们的资源状态;
通过 URI 指定要操作的资源,比如 Index、Document;通过 Http Method 指定要操作的方法,如 GET、POST、PUT、DELETE;
常见操作 ES 的两种方式:Curl、Kibana DevTools
1.4.1 Curl命令操作ES
# 存数据
[root@es-node1 ~]# curl -XPOST
'http://127.0.0.1:9200/bertwu_index/_doc/1'
-H "Content-Type: application/json"
-d '{
"name":"tom",
"age":18,
"salary": 1000000
}'
{"_index":"bertwu_index","_type":"_doc","_id":"1","_version":1,"result":"created","_shards":{"total":2,"success服务器托管网ful":1,"failed":0},"_seq_no":0,"_primary_term":1}
# 获取数据
[root@es-node1 ~]# curl -XGET "http://127.0.0.1:9200/bertwu_index/_doc/1"
{"_index":"bertwu_index","_type":"_doc","_id":"1","_version":1,"_seq_no":0,"_primary_term":1,"found":true,"_source":{
"name":"tom",
"age":18,
"salary": 1000000
}
1.4.2 Kib服务器托管网ana操作ES
1、安装es
rpm -ivh elasticsearch-7.8.1-x86_64.rpm
vim /etc/elasticsearch/jvm.options # 如果内存小可以适当修改最小堆内存与最大堆内存
-Xms512m
-Xmx521m
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
2、# 安装kibana
rpm -ivh kibana-7.8.1-x86_64.rpm
# 配置kibana
grep "^[a-Z]" /etc/kibana/kibana.yml
server.port: 5601 #kibana默认监听端口
server.host: "0.0.0.0" #kibana监听地址段
elasticsearch.hosts: ["http://localhost:9200"] # kibana丛coordinating节点获取数据
i18n.locale: "zh-CN" #kibana汉化
# 启动kibana
[root@kibana ~]# systemctl start kibana
[root@kibana ~]# systemctl enable kibana
1.5 ES 索引API
es 有专门的 Index API,用于创建、更新、删除索引配置等
1.5.1创建索引
# 创建索引
PUT /oldxu_index
#查看所有已存在的索引
GET _cat/indices
1.5.2 删除索引
#删除索引
DELETE /oldxu_index
1.6 ES文档 API
ES 为索引添加文档,有专门的 Document API
创建文件
查询文档
更新文档
删除文档
1.6.1 创建文档
#创建一个文档(指定ID)
POST /oldxu_index/_doc/1
{
"username": "oldxu",
"age": 18,
"salary": 1000000
}
创建文档,不指定ID
1.6.2 查询文档
查询文档,指定要查询的文档id
查询文档,搜索所有文档,用_search
查询索引下特定文档:
GET /bertwu_index/_search
{
"query": {
"match": {
"role": "射手"
}
}
}
1.6.3 批量创建文档
es 允许通过 _bulk 一次创建多个文档,从而减少网络传输开销,提升写入速率
#批量创建document
POST _bulk
{"index":{"_index":"tt","_id":"1"}}
{"name":"oldxu","age":"18"}
{"create":{"_index":"tt","_id":"2"}}
{"name":"oldqiang","age":"30"}
{"delete":{"_index":"tt","_id":"2"}}
{"update":{"_id":"1","_index":"tt"}}
{"doc":{"age":"20"}}
1.6.4 批量查询文档
es允许通过 _mget 一次查询多个文档
#批量查询document
GET _mget
{
"docs": [
{
"_index": "tt",
"_id": "1"
},
{
"_index": "tt",
"_id": "2"
}
]
}
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
本教程已加入 Istio 系列:https://istio.whuanle.cn 目录 4, 流量管理 基于版本的路由配置 基于 Http header 的路由配置 故障注入两种故障注入 比例分配流量 请求超时 熔断 什么是熔断 创建 httpbin 服务 创…