ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。
Es2.0相对于之前的版本变化比较大,2.0中将Facets移除,同时增加了Pipeline Aggregations,以前facets功能现都可以通过aggregations里面相关属于组合替代,具体的替代属性可以参考官网的属性介绍。
下面先介绍下如何搭建es2.0环境。
首先去官网下载es2.0的压缩包,官网提供四种安装包,分别是
下载地址是:https://www.elastic.co/downloads/past-releases/elasticsearch-2-0-0下载完后解压即可,es是基于Java实现,所以需要安装jdk环境,es2.0要求的jdk1.7及以上版本。jdk安装就不在这里详述。
这些环境准备好以后,对config目录下的elasticsearch.yml配置文件进行基本设置,一般需要设置的属性有: cluster.name、path.data 、network.host:等这些,如果需要用到es script属性则还需要启 script.inline: on、script.indexed: on这两个属性。需要注意的是这个配置文件这些属性开启时候需要在属性名称前面空一格空格,其值也需要在“:”后面空一格空格,不然会报错。
这些设置好以后,进入解压的es bin目录
1)如果在Linux环境,首先给es用户赋执行权限,然后用es用户进入bin目录后执行./elasticsearch & 即可启动,es2.0在Linux下面不能用root用户直接启动。如果没有报错,则说明启动成功,这些可以随便执行一条curl语句验证是否启动成功,例如curl -XPUT 'http://localhost:9200/test/static_type/1' -d '{ "id": "00001","time":1,"name":"中国" }'。如果需要在浏览器查看结果,需要安装head插件,安装方式是执行命令 ./plugin installmobz/elasticsearch-head,安装成功后重启es服务,然后在浏览器输入http://localhost::9200/_plugin/head/ 即可查看es里面数据及相关节点等信息。
2)如果是在Windows环境下,用dos窗口进入解压的后es bin目录 然后执行elasticsearch.bat命令即可启动es服务,head插件安装方式相同,如果直接dos界面验证curl是不支持需要去下载curl.exe辅助工具才能执行,需要注意的是Windows下的curl执行语句跟Linux下有所区别,比如上面那句在Windows下需要改写成curl -XPUT "http://localhost:9200/test/static_type/1" -d "{ \"id\": \"00001\",\"time\":1,\"name\":\"中国\" }"才能执行成功。
如果需要用IK分词的话需要去下载打包IK1.5.0版本源码打jar包,按照IK源码里面打包方式打完包后,将elasticsearch-analysis-ik-2.0\target\releases目录里面的所有jar和配置文件放到es的plugins目录下的ik子目录下面,同时需要将ik中config下的ik目录里的词库放到es2.0 的config目录下,需要注意的是2.0版本不需要再elasticsearch.yml配置文件里配置IK配置信息,直接将相关jar和词库放到es2.0服务对应目录即可,然后重启es2.0,启动完成后在浏览器输入http://localhost:9200/test/_analyze?analyzer=ik&pretty=true&text=中国心 ,即可验证IK是否安装成功。
以上是es2.0安装过程以及需要注意的事项,按照上述操作基本上应该不会出现报错情况!