elasticsearch文档:https://www.elastic.co/guide/cn/elasticsearch/guide/current/intro.html
elasticsearch 自带的中分分词器将会使中文分成一个一个的单词,需要安置ik分词等,ik分词分为 ik_smart(最细粒度分词),ik_max_word(最粗粒度分词)两种模式。
1:首先安置elasticsearch:官网下载elasticsearch zip版本 https://www.elastic.co/downloads/elasticsearch
2:解压下载的zip包,启动elasticsearch,有两种方法:
2.1:进入解压文件的bin目录,双击执行elasticsearch.bat
进入 :9200 ,,呈现以下页面,说明安置告成。
按Ctrl+c遏制
2.2: 安置成windows处事,进入bin命令行界面下,执行可执行措施elasticsearch-service-x64.exe,即成为系统处事
3:安置head插件,在网页上打点、监视集群的状态,elasticsearch-head是一个界面化的集群操纵和打点工具
3.1 5.0版本以前 通过elasticsearch 的plugin插件进行安置,进入bin目录下进行安置:elasticsearch/bin/plugin -install mobz/elasticsearch-head
3.2 5.0以后不撑持命令行安置,需要安置node.js等撑持。安置要领
4: 安置ik分词插件
首先在git上下载已经编译好的代码,必然要选择和本身的es版本对应,否则无法启动处事,git下载地点如下:
https://github.com/medcl/elasticsearch-analysis-ik/releases
然后把文件解压的内容放在es的plugins的analysis-ik目录下,如果没有此目录,则新建。
最后在es的conf中elasticsearch.yml文件末尾中插手 index.analysis.analyzer.ik.type: "ik"
测试分词插件是否可以分词:
在浏览器输入:
:9200/_analyze?analyzer=ik&pretty=true&text=*国歌
功效:
{ "tokens" : [ { "token" : "*", "start_offset" : 0, "end_offset" : 7, "type" : "CN_WORD", "position" : 0 },
{ "token" : "中华人民", "start_offset" : 0, "end_offset" : 4, "type" : "CN_WORD", "position" : 1 },
{ "token" : "中华", "start_offset" : 0, "end_offset" : 2, "type" : "CN_WORD", "position" : 2 },
{ "token" : "华人", "start_offset" : 1, "end_offset" : 3, "type" : "CN_WORD", "position" : 3 },
{ "token" : "人民*", "start_offset" : 2, "end_offset" : 7, "type" : "CN_WORD", "position" : 4 },
{ "token" : "人民", "start_offset" : 2, "end_offset" : 4, "type" : "CN_WORD", "position" : 5 },
{ "token" : "*", "start_offset" : 4, "end_offset" : 7, "type" : "CN_WORD", "position" : 6 },
{ "token" : "共和", "start_offset" : 4, "end_offset" : 6, "type" : "CN_WORD", "position" : 7 }, {
"token" : "国", "start_offset" : 6, "end_offset" : 7, "type" : "CN_CHAR", "position" : 8 },
{ "token" : "国歌", "start_offset" : 7, "end_offset" : 9, "type" : "CN_WORD", "position" : 9 } ]}
如果想要粗粒度的分词:则把analyzer的属性换成ik_smart即可
:9200/_analyze?analyzer=ik_smart&pretty=true&text=*国歌
功效:
{ "tokens" : [ { "token" : "*", "start_offset" : 0, "end_offset" : 7, "type" : "CN_WORD", "position" : 0 },
{ "token" : "国歌", "start_offset" : 7, "end_offset" : 9, "type" : "CN_WORD", "position" : 1 } ]}