版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HcJsJqJSSM/article/details/83686997
一:使用背景和安装过程.
1. ElasticSearch-6.4.1.(Windows环境下)
ElasticSearch默认的分词器对中文分词器支持不好,下面安装中文分词器.Linux下是一样的安装方式就是wget+url然后新建目录,解压到指定的目录下,然后重启ES即可.
2. 中文分词器IKAnalyzer下载.
3. 来到ElasticSearch的安装目录.
新建目录:ik
4. 将刚才下载的IK解压到ik目录下.
5. 启动ElasticSearch.(观察一下启动日志).
6. 启动head插件.
7. 测试IK分词器.(PostMan下测试)
7.1 一个删除ES索引的测试.(自己测试的,与本文无关).
7.2 IK分词效果有两种,一种是ik_max_word(最大分词)和ik_smart(最小分词)
现在的分词文本是:中华人名共和国港珠澳大桥建成通车.
8. REST API 使用AK分词器.
8.1 测试最大分词效果.
8.2 测试最小分词效果.
二. JAVA API使用AK分词器.
2.1 首先新建一个索引.
2.2 Java API使用分词器.
首先是获取TransportClient对象. 注入静态方法中注意初始化的方式.
使用标准分词器.
public class ElasticApplication {
private static TransportClient client;
@Autowired
public void setClient(TransportClient client){
ElasticApplication.client=client;
}
public static void main(String[] args) {
SpringApplication.run(ElasticApplication.class, args);
// 获取分词器.
AnalyzeRequest analyzeRequest = new AnalyzeRequest("test")
.text("中华人民共和国港珠澳大桥建成通车")
.analyzer("standard");
List<AnalyzeResponse.AnalyzeToken> tokens = client.admin().indices()
.analyze(analyzeRequest)
.actionGet()
.getTokens();
for (AnalyzeResponse.AnalyzeToken token : tokens) {
System.out.print(token.getTerm()+" ");
}
}
}
运行结果:
使用最大分词器.
运行结果:
使用最小分词器.
运行结果:
可以对比最小分词效果没有最大的分词效果好一些.