ElasticSearch 7.x
文章目录
- ElasticSearch 7.x
- 1.windows环境安装
- 1.ik分词器安装
- 2.es启动
- 3.Kibana启动
- 2.Linux环境安装
- 3.分词器
- 1.分词测试
- 2.ES中默认分词器
- 3.IK分词器
- 4.自定义分词器
1.windows环境安装
es下载地址: https://www.elastic.co/cn/downloads/past-releases#elasticsearch
ik分词器下载地址: https://github.com/medcl/elasticsearch-analysis-ik/releases
Kibana下载地址: https://www.elastic.co/cn/downloads/past-releases#kibana
注意:
- 本文测试基于7.9.0版本,推荐springboot版本2.4以上,本文使用springboot版本为2.7
- 下载时保证es,ik分词器及kibana版本一致,否则可能出现启动问题,
- 分词器建议使用官方的安装方式,解压可能会启动失败
- 7.x版本需要jdk环境为1.8以上,如果是8.x则需要jdk17以上环境,否则启动失败
1.ik分词器安装
进入es解压目录通过终端执行安装命令
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.0/elasticsearch-analysis-ik-7.9.0.zip
2.es启动
es解压后启动bin下的elasticsearch.bat即可
./bin/elasticsearch.bat
访问 http://127.0.0.1:9200/ 验证是否启动成功
3.Kibana启动
解压后启动bin下的kibana.bat即可
./bin/kibana.bat
kibana访问地址
http://127.0.0.1:5601/
2.Linux环境安装
待补充
3.分词器
ES 中处理分词的部分被称作分词器,英文是Analyzer,它决定了分词的规则。ES 自带了很多默认的分词器,比如Standard、Keyword、Whitespace等等,默认是Standard。当我们在读时或者写时分词时可以指定要使用的分词器
1.分词测试
测试hello world 是如何分词的
POST _analyze
{"analyzer": "standard","text": "hello world"
}
2.ES中默认分词器
- Standard Analyzer - 默认分词器,按词切分,小写处理
- Simple Analyzer - 按照非字母切分(符号被过滤), 小写处理
- Stop Analyzer - 小写处理,停用词过滤(the,a,is)
- Whitespace Analyzer - 按照空格切分,不转小写
- Keyword Analyzer - 不分词,直接将输入当作输出
- Patter Analyzer - 正则表达式,默认\W+(非字符分割)
- Language - 提供了30多种常见语言的分词器
- Customer Analyzer 自定义分词器
查看地址列分词情况:
GET news/_analyze
{"field": "address","text": "198 mill lane"
}
执行结果
{"tokens" : [{"token" : "198","start_offset" : 0,"end_offset" : 3,"type" : "<NUM>","position" : 0},{"token" : "mill","start_offset" : 4,"end_offset" : 8,"type" : "<ALPHANUM>","position" : 1},{"token" : "lane","start_offset" : 9,"end_offset" : 13,"type" : "<ALPHANUM>","position" : 2}]
}
这些分词器默认都是对英文进行分词,如果是中文就会出现每个汉字进行分词
3.IK分词器
由于默认都是英文分词,所有需要安装中文分词插件,安装后可以进行中文分词
- ik_smart,智能分词,会做最粗粒度的拆分
- ik_max_word,最细粒度拆分
POST _analyze
{"analyzer": "ik_smart", "text": "我是中国人"
}
4.自定义分词器
待补充