Elasticsearch 使用Lucene为核心, 实现了所有索引和搜索的功能,并通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。本文演示通过 Docker 来部署、运行 Elasticsearch。
运行 Elasticsearch 容器
首先,下载 Elasticsearch 镜像。在 Docker Hub 上可以找到 Elasticsearch 官方的镜像,有很多版本,我们在演示中选择 6.8.6 版。
1 | docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.6 |
整个镜像比较大,955M, 下载的时间比较长。
然后运行以下命令构建并启动容器:
1 | docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.8.6 |
启动以后,可以通过浏览器访问进行访问。
1 | http://localhost:9200 |
可以看到显示类似的信息:
1 | { |
开通跨域访问
为了能通过管理插件访问、管理 Elasticsearch, 需要打开实例的跨域访问。
首先,需要登录到容器中,执行以下命令:
1 | docker exec -it elasticsearch /bin/bash |
登录道容器后,编辑 elasticsearch.yml 配置文件 执行:
1 | vi config/elasticsearch.yml |
在文件中加入以下的两行配置信息:
1 | http.cors.enabled: true |
然后退出容器,重启容器:
1 | docker restart elasticsearch |
安装管理插件
首先,拉取插件镜像:
1 | docker pull mobz/elasticsearch-head:5 |
然后执行以下命令启动容器:
1 | docker run -d --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5 |
在浏览器中访问:
1 | http://localhost:9100 |