什么是Elasticsearch?
Elasticsearch是一个实时分布式搜索和分析引擎。它让你以前所未有的速度处理大数据成为可能。
它用于全文搜索、结构化搜索、分析以及将这三者混合使用:
-
维基百科使用Elasticsearch提供全文搜索并高亮关键字,以及输入实时搜索(search-as-you-type)和搜索纠错(did-you-mean)等搜索建议功能。
-
英国卫报使用Elasticsearch结合用户日志和社交网络数据提供给他们的编辑以实时的反馈,以便及时了解公众对新发表的文章的回应。
-
StackOverflow结合全文搜索与地理位置查询,以及more-like-this功能来找到相关的问题和答案。
-
Github使用Elasticsearch检索1300亿行的代码。
Elasticsearch 的底层是开源库 Lucene。Elasticsearch 是用Java实现的,Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
使用Docker安装Elasticsearch
拉取镜像, 选择带有分词扩展插件的镜像:
docker image pull delron/elasticsearch-ik:2.4.6-1.0
创建容器运行:
docker run -dti --network=host --name=elasticsearch delron/elasticsearch-ik:2.4.6-1.0
成功运行:
root@Aliyun:~# docker container ls --all CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 7556a25b7c3b delron/fastdfs "/usr/bin/start1.sh …" 20 hours ago Up 20 hours storage ba0104403753 delron/fastdfs "/usr/bin/start1.sh …" 20 hours ago Up 20 hours tracker 013f54cf5ebb delron/elasticsearch-ik:2.4.6-1.0 "/docker-entrypoint.…" 24 hours ago Up 24 hours elasticsearch