Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard(分片)的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也是采用了ElasticSearch作为其搜索服务.
docker安装Elasticsearch命令(建议不要安装太高的版本,否则运行时会报错)
docker pull elasticsearch:5.6.9
运行命令如下,因为elastic 是java写的,运行默认会占用两个G左右的堆内存空间,导致空间和不够,采用以下的命名启动用 -e 参数来限制一下。
docker run -e ES_JAVA_OPTS="-Xms256 -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name ES01 5c1e1ecfe33a
启动后访问服务器的ip:9200 就能看到elastic的一些信息!
然而上面的操作,你们可能遇到Es无法启动或者启动后一段时间ES自动停止运行的情况
如果你没有遇到问题就不需要继续往下看了
解决方法:
我们重新下另一个版本的elasticsearch:
docker pull elasticsearch:6.4.3
运行语句:
docker run -d --name ES01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.4.3
进入容器修改配置:
docker exec -it es /bin/bash
cd config
vi elasticsearch.yml
添加如下的配置,注意yml文件的写法是 -------> key:空格value(不要忽略空格哦)
然后shift+zz保存后,再次访问ip:9200:
能看到这个页面说明elastic完美运行!
怎么玩???
参考一下这个文档
下面是利用postman软件模拟的请求,只是为了举例子,详细操作还是看文档!
增加 / 修改数据:用的是put请求方式
查询数据信息:用的是get请求方式
查询数据是否存在:用的是head请求方式
1.存在
2.不存在
删除数据:用的是delete请求
特殊的查询,只是举例子: