文章目录
前言
elasticsearch的前置知识可以看这里全文搜索引擎 Elasticsearch 入门教程 这里从概念的操作都有
一、Elasticsearch Docker安装
// 拉镜像, 记得带版本号
docker pull elasticsearch:7.2.0
// 运行容器,注意自己的内存大小,默认1G,这里设置成256m
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2
验证地址
http:ip地址:9200
如过以上执行后不起来,删除容器,执行这个(有错误原因是内存大小和缺少配置)
// 删除容器
docker rm ES01
// 配置内存大小
vi /etc/sysctl.conf 在末尾加上 vm.max_map_count=262144
// 重启构建容器
docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -e "discovery.type=single-node" -d -p 9200:9200 -p 9300:9300 --name ES01 elasticsearch:7.6.2
过了一会,容器又Exited (137),查了下分配内存不够的原因,还是需要内存的,7.6.2的版本256m看来不是很够,还是要更大的,内存小的还是安装低版本的吧(6.4.3可)
需要高版本又没那么大的服务期还是虚拟机吧
至于为啥两个端口:
我后来安装了kibana后,发现我的破电脑跑不了这么多东西
就重新下了个低版本的(一开始7.2.0可以用,但是自从我给他挤爆了后,就起不来,就安装了低版本)
没办法,配置低
两天过去了,发现只是那时候没看日志,如果出问题可以使用
docker logs 容器名称/容器ID
来查看错误原因,如下,找到最后的[error]即可
二、Kibana Docker安装
因为内存大小原因我就不安装了,步骤很简单就下面
// 拉镜像
docker pull kibana:5.6.9
// 运行容器,设置对应elasticsearch的地址
docker run --name kibana -e ELASTICSEARCH_URL=http://ip:9200 -p 5601:5601 -d kibana:7.2.0
验证地址
http://ip地址:5601
三、测试方法
我是使用postman进行测试的
get请求可以直接浏览器访问 | 命令行curl + 地址访问
post | put请求也可以使用 curl -X PUT + 地址访问 (注意PUT要大写)
四、Elasticsearch简单使用
- 查看集群的健康情况(get)
http://reentrantlock.cn:9200/_cat
2. 查看es的健康状况 (get)
http://reentrantlock.cn:9200/_cat/health?v
说明:v是用来要求在结果中返回表头
图片来自Elasticsearch解决健康状态异常问题
- 查看所有索引 - 一开始应该只有表头(get)
http://reentrantlock.cn:9200/_cat/indices?v
4. 创建索引 - pretty作用同mongodb的pretty,用于返回结构化的数据(就是更好看的数据-结构(json)上)
http://reentrantlock.cn:9200/customer?pretty
这时候可以调用之前的查询索引查看变化
如果创建相同的索引会报错
5. 索引一个文档到customer索引中
http://reentrantlock.cn:9200/customer/_doc/1
6. 从customer索引中获取指定id的文档
http://reentrantlock.cn:9200/customer/_doc/1
- 获取指定索引下所有文档
http://reentrantlock.cn:9200/customer/_search
参数含义:
五、整体的系统的使用方式
// TODO 完成官方的demo练习
完成了简单的使用后,觉得还是应该看下官网的demo好好走一次,为了结构不乱,我另开一篇专门说。
六、Springboot整合ElasticSearch
试了一个上午,发现各种版本会出现各种问题,找个时间另外发布一篇
参考资料
- Docker系列之Elasticsearch安装教程
- docker快速安装kibana
- ElasticSearch 最全详细使用教程
- ElasticSearch的介绍及使用
- 官网Demo