Elasticsearch v5.4
Posted Leo_wlCnBlogs
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch v5.4相关的知识,希望对你有一定的参考价值。
前言
最近项目里为了加快后台系统的搜索速度,决定接入开源的搜索引擎,于是大家都在对比较常用的几个开源做技术调研,比如Lucene+盘龙分词
,Solr
,还有本篇要介绍的Elasticsearch
。话不多提,直接进入主题。
一、安装JDK
- 由于Elasticsearch v5.4.2需要Java 8或者更新版本的java,我们可以去Oracle官网下载,也可以选择使用OpenJDK。
- 设置Java环境变量
JAVA_HOME
=C:\\Program Files (x86)\\Java\\jdk1.8.0_131
CLASSPATH
=.;%JAVA_HOME%\\lib;%JAVA_HOME%\\lib\\tools.jar
PATH
= 原PATH+;%JAVA_HOME%\\bin;
- 验证Java环境是否安装成功,以及环境变量是否设置正确。在
cmd
窗口执行javac
命令,若结果如下图,则说明Java环境已经安装正确。
二、安装Elasticsearch
- 下载。从官网下载Elasticsearch zip4.入2.zip 。
- 解压文件。将下载的zip文件解压到
C:\\elasticsearch\\elasticsearch-5.4.2/
,目录结构如下图: - 启动Elasticsearch 。打开
cmd
窗口,进入C:\\elasticsearch\\elasticsearch-5.4.2\\bin
,执行脚本elasticsearch.bat
,若结果如下图,则Elasticsearch 启动成功。 -
验证Elasticsearch是否安装成功。如上图,Elasticsearch 默认使用的是
9200
端口,接下来在浏览器中打开链接http://localhost:9200,返回如下结果则说明安装成功。{ "name" : "KPIXVlC", "cluster_name" : "elasticsearch", "cluster_uuid" : "uCSF389FQISmiuK3__BSHA", "version" : { "number" : "5.4.2", "build_hash" : "929b078", "build_date" : "2017-06-15T02:29:28.122Z", "build_snapshot" : false, "lucene_version" : "6.5.1" }, "tagline" : "You Know, for Search" }
三、安装Elasticsearch-Head
如下图,Elasticsearch Head在5.x版本中已经不再以插件的形式存在,而是作为了一个独立的web了。
-
安装
// 从GitHug下载Head git clone git://github.com/mobz/elasticsearch-head.git // 进入下载好的目录 cd elasticsearch-head // 还原nmp包 npm install // 运行 npm run start
-
验证。在浏览器中打开链接http://localhost:9100,如出现下图,则说明安装成功
四、安装ik分词器
-
下载。ik分词链接GitHub。由于ik分词器要求与Elasticsearch的版本高度匹配,所以我们需要下载相应的版本为5.4.2。
git clone --branch v5.4.2 https://github.com/medcl/elasticsearch-analysis-ik.git
-
打包。在下载好的文件夹中执行命令
mvn package
-
解压。在Elasticsearch安装目录下的文件夹plugins中新建文件夹ik,将上一步中生成的
elasticsearch-analysis-ik-5.4.2.zip
解压到这里,如下图: -
检验ik安装结果。重启Elasticsearch,在Sense插件中输入如下内容
GET default-index/_analyze?analyzer=ik_smart&pretty=true { "text":"我的家乡是武汉,我爱美丽的江城" }
如安装正常,结果如下
{ "tokens": [ { "token": "我", "start_offset": 0, "end_offset": 1, "type": "CN_CHAR", "position": 0 }, { "token": "家乡", "start_offset": 2, "end_offset": 4, "type": "CN_WORD", "position": 1 }, { "token": "武汉", "start_offset": 5, "end_offset": 7, "type": "CN_WORD", "position": 2 }, { "token": "我", "start_offset": 8, "end_offset": 9, "type": "CN_CHAR", "position": 3 }, { "token": "爱美丽", "start_offset": 9, "end_offset": 12, "type": "CN_WORD", "position": 4 }, { "token": "江城", "start_offset": 13, "end_offset": 15, "type": "CN_WORD", "position": 5 } ] }
到此Elasticsearch,Elasticsearch Head, ik分词器都已经安装成功。
注意:安装ik分词器过程中发现与老版本2.x.x有两点不同:
- 不需要修改Elasticsearch配置文件。Elasticsearch的配置文件路径为
elasticsearch.yml
,在文件最后加入如下内容:index.analysis.analyzer.ik.type : "ik"
- 测试ik分词是否安装成功时,使用的是
ik_smart
而不是ik
。查看文档,现在支持ik_smart
与ik_max_word
。