ES是一款稳定强大开源的搜索引擎框架,近乎实时的存储、搜索和分析大数据,下面我们看下怎么安装和运行,以windows为例
ES安装和运行
1、首先要安装Java JDK,最低版本要1.8
2、首先下载Windows版本的压缩包,https://www.elastic.co/downloads
3、解压到C盘(特别注意,路径中间不能有空,否则会导致中文分词器错误)
4、切换到安装目录,执行elasticsearch.bat,或者打开cmd窗口,切换到安装目录bin下面,执行elasticsearch,看到最后一行started,说明启动成功
5、打开浏览器,输入http://localhost:9200/,你会发现请求成功了,ES顺利完成安装
Kibana安装和运行
Kibana是ES界面化管理工具,可以呈现数据图表,并且具有可扩展的用户界面,全方位配置和管理 Elastic Stack,并且提供了ES操作命令窗口,而无需安装Curl工具
1、首先下载Windows版本的压缩包,https://www.elastic.co/downloads
2、解压到C盘,进入到安装目录,执行kibana.bat,等出现Ready之后,完成启动
3、打开浏览器,输入:http://localhost:5601/,进入到Dev Tools目录,我们就可以来执行我们需要的请求了
IK分词器安装
IK分词器是一款基于中文的分词器,可以扩展词汇等
1、首先下载分词器插件:https://github.com/medcl/elasticsearch-analysis-ik/releases,源码地址:https://github.com/medcl/elasticsearch-analysis-ik
2、解压到ES安装目录plugins/下面,文件夹可以命名为IK或者elasticsearch,默认无须改动
3、或者利用插件安装:elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.5.1/elasticsearch-analysis-ik-5.5.1.zip
4、IKAnalyzer.cfg.xml
可以放置在 {conf}/analysis-ik/config/IKAnalyzer.cfg.xml
or {plugins}/elasticsearch-analysis-ik-*/config/IKAnalyzer.cfg.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd"> <properties> <comment>IK Analyzer 扩展配置</comment> <!--用户可以在这里配置自己的扩展字典 --> <entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry> <!--用户可以在这里配置自己的扩展停止词字典--> <entry key="ext_stopwords">custom/ext_stopword.dic</entry> <!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">location</entry> <!--用户可以在这里配置远程扩展停止词字典--> <entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry> </properties>
5、更新 IK 分词使用方法
<!--用户可以在这里配置远程扩展字典 --> <entry key="remote_ext_dict">location</entry> <!--用户可以在这里配置远程扩展停止词字典--> <entry key="remote_ext_stopwords">location</entry>
6、分词方法:5.0之后,移除名为 ik
的analyzer和tokenizer,请分别使用 ik_smart
和 ik_max_word
以“美国留给伊拉克的是个烂摊子吗”为例
ik_smart会拆分为:美国、留给、伊拉克、的、是、个、烂摊子、吗
ik_max_word会拆分为:除了美国、留给、伊拉克、的、是、个、烂摊子、吗,还有摊子
以“中华人民共和国”为例,ik_smart会拆分为:中华人民共和国,把“中华人民共和国”作为一个完整的词汇
ik_max_word会拆分为:中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、共和、国
7、测试
GET _analyze
{
"analyzer": "ik_smart"
, "text": "中华人民共和国"
}
GET _analyze
{
"analyzer": "ik_max_word"
, "text": "中华人民共和国"
}