使用Docker安装Elasticsearch并添加Head和Kuromoji插件,2015年冬(Elasticsearch 2.1.1)
尝试安装官方的Docker Elasticsearch时,发现其他人在2014年左右写的步骤指南与搜索结果有些出入,所以我将其记录下来作为备忘。
到2015年12月为止,docker镜像的elasticsearch版本是2.1.1,Amazon Elasticsearch服务的版本是1.5.2。它们之间有相当大的差异。
我对它们的功能差异没有准确的了解。
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=15.04
DISTRIB_CODENAME=vivid
DISTRIB_DESCRIPTION="Ubuntu 15.04"
# $ sudo apt-get install docker.io
$ sudo docker --version
Docker version 1.6.2, build 7c8fca2
$ sudo docker pull elasticsearch
$ sudo docker run -it elasticsearch /bin/bash
# elasticsearch --version
Version: 2.1.1, Build: 40e2c53/2015-12-15T13:05:55Z, JVM: 1.8.0_66-internal
# plugin install mobz/elasticsearch-head
# plugin install analysis-kuromoji
-
- elasticsearch, plugin コマンドにはパスが通っています。
-
- install のサブコマンドは –install では無いです
- kuromoji のリポジトリは、2015年夏あたりに引っ越しされ、公式に取り込まれていました
在安装完成后,按下Ctrl + d键即可退出。
$ sudo docker commit <container_name> ytyng/elasticsearch-head-kuromoji
$ sudo docker run -p 9200:9200 --name es2 -d ytyng/elasticsearch-head-kuromoji elasticsearch
用电脑打开 http://:9200/ 来查看。
{
"name" : "Blur",
"cluster_name" : "elasticsearch",
"version" : {
"number" : "2.1.1",
"build_hash" : "40e2c53a6b6c2972b3d13846e450e66f4375bd71",
"build_timestamp" : "2015-12-15T13:05:55Z",
"build_snapshot" : false,
"lucene_version" : "5.3.1"
},
"tagline" : "You Know, for Search"
}
从个人电脑访问 http://:9200/_plugin/head/ 查看

顺便说一句,要进入运行中的elasticsearch容器的shell,请使用以下方法:
$ sudo docker exec -it es2 /bin/bash
注意django-haystack的使用者
如果使用django-haystack,不支持Elasticsearch2的情况下无法运行。
"type": "search_parse_exception",
"reason": "failed to parse search source. unknown search element [facets]",
据说facets转为aggregate(语法也有所变化)。