,- 安装引擎服务
我安装的是1.6.0版本,开始是在官网下载的2.4.1版本的,后来在数据同步时没找到对应版本的elasticsearch-river-jdbc的jar包,然后选择的当前版本。 解压后进入bin目录,如果是windows环境点击elasticsearch.bat脚本,启动成功后。在浏览器中输入http://localhost:9200/,得到如下截图,即说明你迈出的第一步。
-
安装常用的搜索插件
- 安装elasticsearch-head,用于客户端数据查看等基本操作。
进入 bin目录,运行以下命令:plugin -install mobz/elasticsearch-head。
然后安装成功后,在浏览器中输入:http://localhost:9200/_plugin/head/,可以看到效果。
具体安装步骤也可以参考:https://github.com/mobz/elasticsearch-head
如果不用安装命令,也可以直接下载安装。
https://github.com/mobz/elasticsearch-head
下载安装包。
1.在cmd命令行中进入安装目录,看是否有plugins目录,如果没有,则创建(第一次时,没有,需要创建)。
2.进入plugins目录,创建head目录
3.解压下载的elasticsearch-head-master.zip,将其elasticsearch-head-master目录下的所有文件放入head目录中。
4.再次重新启动elasticsearch,并查看结果
- 安装bigdesk
进入 bin目录,运行以下命令:plugin install lukas-vlcek/bigdesk - 安装jdbc river。实现数据与es服务同步插件
进入 bin目录,运行以下命令:plugin –install jdbc –url http://xbib.org/repository/org/xbib/elasticsearch/plugin/elasticsearch-river-jdbc/1.4.0.8/elasticsearch-river-jdbc-1.4.0.8-plugin.zip 安装marvel,Elasticsearch的图形化监控客户端,可以用来查看当前的各项状态,但是不建议安装,貌似每天都会生成一个索引,导致head界面较复杂
同样是进入bin目录,执行指令:plugin -i elasticsearch/marvel/latest-
安装分词器,我使用的是ik
elasticsearch-analysis-ik 是一款中文的分词插件,支持自定义词库。其实Elasticsearch默认也提供分词器,但它会把每个汉字分开,而不是我们想要的根据关键词来分词。所以安装此插件很有必要。
1、到github网站下载源代码,网站地址为:https://github.com/medcl/elasticsearch-analysis-ik/releases
选择对应的版本哈,点击下载源代码。IK version ES version
master 2.1.1 -> master
1.7.0 2.1.1
1.6.1 2.1.0
1.5.0 2.0.0
1.4.1 1.7.2
1.4.0 1.6.0
1.3.0 1.5.0
1.2.9 1.4.0
1.2.8 1.3.2
1.2.7 1.2.1
1.2.6 1.0.0
1.2.5 0.90.x
1.1.3 0.20.x
1.1.2 0.19.x
1.0.0 0.16.2 -> 0.19.0
- 安装elasticsearch-head,用于客户端数据查看等基本操作。
2、解压文件elasticsearch-analysis-ik-1.4.0.zip(我的es版本为1.6)
3、将解压目录文件中config/ik文件夹复制到ES安装目录config文件夹下
4、因为是源代码,此处需要使用maven打包,进入解压文件夹中,执行命令:mvn clean package
这里如果你选择的ik版本过高,打包可能会报错,由于代码一些语法是依据jdk1.8版本的,如果你的jdk版本是1.7,请升级到1.8,否则编译不过,无法打包。
5、打包完成之后,会出现 target/releases/elasticsearch-analysis-ik-{version}.zip,将其解压后得到的文件放入plugins\ik目录下
请勿直接使用target下的jar包,会报相关jar包找不到的错误。
6、在ES的配置文件config/elasticsearch.yml中增加ik的配置,在最后增加,(后面本人应用的第一种配置,自定义分词设置,更灵活)。
index:
analysis:
analyzer:
ik:
alias: [ik_analyzer]
type: org.elasticsearch.index.analysis.IkAnalyzerProvider
ik_max_word:
type: ik
use_smart: false
ik_smart:
type: ik
use_smart: true
或者
index.analysis.analyzer.ik.type : “ik”
以上两种配置方式的区别:
1、第二种方式,只定义了一个名为 ik 的 analyzer,其 use_smart 采用默认值 false
2、第一种方式,定义了三个 analyzer,分别为:ik、ik_max_word、ik_smart,其中 ik_max_word 和 ik_smart 是基于 ik 这个 analyzer 定义的,并各自明确设置了 use_smart 的不同值。
3、其实,ik_max_word 等同于 ik。ik_max_word 会将文本做最细粒度的拆分