文章目录
Spring Boot使用docker整合ElasticSearch ik分词搜索和拼音搜索
前面的blog已经处理完Spring Boot和docker安装配置ElasticSearch,这篇blog主要讲一下使用docker安装ElasticSearch ik分词器和拼音搜索功能。
准备工作
安装ik分词器
我们直接使用elasticsearch-plugin
安装ik分词器
// 进入elasticsearch容器
docker exec -it elasticsearch /bin/bash
// 安装ik分词器7.8.0
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.8.0/elasticsearch-analysis-ik-7.8.0.zip
安装过程如下:
安装pinyin插件
和ik分词器一样我们同样使用elasticsearch-plugin
安装pinyin插件
// 安装ik分词器7.8.0
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.8.0/elasticsearch-analysis-pinyin-7.8.0.zip
检查一下plugins目录查看是否安装成功,准备工作就完成了。
Spring Boot进行分词和拼音查询
前面已经完成了一部分编码工作了,请查看Spring Boot 使用docker整合ElasticSearch,那么这次我们就继续在上次的基础上改造,使其支持拼音和分词搜索。
创建setting和mapping文件
文件存放在resource
目录下,为了方便区分,所以我新建了一个elasticsearch目录。
elasticsearch_mapping.json
文件内容
{
"block": {
"properties": {
"userName": {
"type": "text",
"analyzer": "pinyin_analyzer",
"search_analyzer": "pinyin_analyzer",
"fields": {
"pinyin": {
"type": "string",
"ignore_above": 256
}
}
},
"sex": {
"type": "keyword",
"fields": {
"keyword": {
"type": "keyword",
"ignore_above": 256
}
}
},
"age": {
"type": "keyword",