ElasticSearch7.6.2安装与简单操作
Es系列工具都是开箱即用,所以安装比较简单,各个系统下都是解压即可
前置环境:
windows10
ES7.6.2
Kibana7.6.2 :Es的可视化操作工具
ES中值得注意的事项:
type逐渐移除,预计版本8中将消失
head插件在高等级的版本中,不支持直接安装,需要nodejs支持,我没有使用这个插件。
SpringBoot与Es的整合,需要注意版本支持,且在7.x的ES版本中客户端更新为高级操作客户端,在 SpringBoot中的ElasticSearchTemplate过时,建议使用高级客户端或者ElasticSearchRestTemplate。
一、ES、Kibaba安装
在以下目录找到相应的压缩文件,下载即可。
https://elasticsearch.cn/download/
分别解压到对应目录:
bin:下面存放着Es启动文件 elasticsearch.bat
config:配置目录
data:数据目录
jdk、lib:Java运行环境以及依赖包
logs:日志目录
modules、plugins:模块及插件目录,head插件可以存放在plugins目录下
在config目录下的elasticsearch.yml文件末尾添加跨域允许:
#允许跨域让各种可视化工具连接到Es
http.cors.enabled: true
http.cors.allow-origin: "*"
点击bin目录下的启动文件:访问本机9200端口,浏览器会返回一段json数据,包含Es信息等。
{
"name" : "LAPTOP-UBIBQATL",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "3dHFiRJdQW-G4HKoB-lzAg",
"version" : {
"number" : "7.6.2",
"build_flavor" : "default",
"build_type" : "zip",
"build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
"build_date" : "2020-03-26T06:34:37.794943Z",
"build_snapshot" : false,
"lucene_version" : "8.4.0",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
ES安装成功。
同理、找到kibana目录下的bin中的启动文件,就可以启动kibana了.
config目录下的配置文件可以配置:
#国际化、界面支持中文
i18n.locale: "zh-CN"
启动Kinaba后,访问5601端口,进入可视化界面。
二、简单操作
Es支持Rest风格,在kinaba中使用开发者工具,输入一下代码,分别执行。
提交、更新数据
PUT /boot/user/1
{
"name":"Jaskson",
"age":18,
"gender":"male",
"desc":["码农","直男","女装大佬"]
}
POST /boot/user/2
{
"name":"Smish",
"age":16,
"gender":"male",
"desc":["产品经理","艺术家"]
}
#!POST和PUT都有更新、提交的功能。
#!更新时建议使用POST(update),因为PUT不补全数据时,会用空数据覆盖原数据。
#!反馈回来的语句如下:
{
"_index" : "boot",
"_type" : "user",
"_id" : "1",
"_version" : 2, //信息版本,已经被修改过
"result" : "updated", //操作类型
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 4,
"_primary_term" : 3
}
查询数据
使用GET进行数据查询操作。
#!查询by id
GET /boot/user/_search
#! 查询通过Json参数
GET /boot/user/_search?q=name:"Jaskson"
#!同上
GET /boot/user/_search
{
"query": {
"match": {
"name":"Jaskson"
}
}
}
#!返回数据
{
"took" : 713,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 1,
"relation" : "eq"
},
"max_score" : 0.6931471,
"hits" : [
{
"_index" : "boot",
"_type" : "user",
"_id" : "1",
"_score" : 0.6931471,
"_source" : {
"name" : "Jaskson",
"age" : 18,
"gender" : "male",
"desc" : [
"码农",
"直男",
"女装大佬"
]
}
}
]
}
}
略微复杂的查询:
#!中文可以分词
GET /boot/user/_search
{
"query": {
"match": {
"desc":"码"
}
}
}
#! 过滤
GET /boot/user/_search
{
"query": {
"match": {
"desc":"码"
}
},
"_source": ["name","desc"]
}
#! 排序
GET /boot/user/_search
{
"query": {
"match_all": {}
},
"sort": [
{
"age": {
"order": "asc"
}
}
]
}
删除数据
DELETE删除数据
DELETE /boot/user/2
{
"_index" : "boot",
"_type" : "user",
"_id" : "2",
"_version" : 2,
"result" : "deleted",
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"_seq_no" : 2,
"_primary_term" : 3
}