您的位置:首页 > 科技 > IT业 > 三室一厅二卫装修效果图_专家一对一免费咨询_福州seo排名优化公司_淘宝搜索词排名查询

三室一厅二卫装修效果图_专家一对一免费咨询_福州seo排名优化公司_淘宝搜索词排名查询

2025/4/1 10:42:05 来源:https://blog.csdn.net/weixin_64502989/article/details/146519524  浏览:    关键词:三室一厅二卫装修效果图_专家一对一免费咨询_福州seo排名优化公司_淘宝搜索词排名查询
三室一厅二卫装修效果图_专家一对一免费咨询_福州seo排名优化公司_淘宝搜索词排名查询

在线安装ik插件(较慢)

docker exec -it es /bin/bash

./bin/es-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip

看到报错了,我访问一下。就是没有了

# 要是上面是安装成功的,后面还要在执行下面的命令。
#退出
exit#重启容器
docker restart elasticsearch

离线安装ik插件

查看数据卷目录

安装插件需要知道elasticsearch的plugins目录位置,而我们用了数据卷挂载,因此需要查看elasticsearch的数据卷目录,通过下面命令查看。

docker volume inspect es-plugins

说明plugins目录被挂载到了:/var/lib/docker/volumes/es-plugins/_data这个目录中。

解压分词器安装包

把这个ik分词器压缩包解压一下,并且重命名成 ik

这是解压后重命名的

上传插件到es容器中

也就是/var/lib/docker/volumes/es-plugins/_data 目录里面

重启容器

#重启容器
docker restart es
# 查看es日志
docker logs -f es

测试

IK分词器包含两种模式:

  • ik_smart:最少切分
  • ik_max_word:最细切分

GET /_analyze
{"analyzer": "ik_max_word","text": "现在学习Java真是太好啦"
}

结果

{"tokens" : [{"token" : "现在","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "在学","start_offset" : 1,"end_offset" : 3,"type" : "CN_WORD","position" : 1},{"token" : "学习","start_offset" : 2,"end_offset" : 4,"type" : "CN_WORD","position" : 2},{"token" : "java","start_offset" : 4,"end_offset" : 8,"type" : "ENGLISH","position" : 3},{"token" : "真是太","start_offset" : 8,"end_offset" : 11,"type" : "CN_WORD","position" : 4},{"token" : "真是","start_offset" : 8,"end_offset" : 10,"type" : "CN_WORD","position" : 5},{"token" : "太好","start_offset" : 10,"end_offset" : 12,"type" : "CN_WORD","position" : 6},{"token" : "好啦","start_offset" : 11,"end_offset" : 13,"type" : "CN_WORD","position" : 7}]
}

扩展词典

随着互联网的发展,“造词运动”也越发的频繁。出现了很多新的词语,在原有的词汇列表中并不存在。比如:“奥力给”,“泰酷辣” 等。

所以我们的词汇也需要不断的更新,IK分词器提供了扩展词汇的功能。

1、打开ik分词器config目录

2、在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">ext.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords"></entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

3、新建一个 ext.dic,可以参考config目录下复制一个配置文件进行修改

vim ext.dic

奥力给
泰酷辣

4、重启elasticsearch

docker restart es# 查看日志
docker logs -f es

日志中已经成功加载 ext.dic 配置文件

5、测试效果

GET /_analyze
{"analyzer": "ik_max_word","text": "现在学习Java真是太好啦 奥力给"
}

注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑

停用词 词典

在互联网项目中,在网络间传输的速度很快,所以很多语言是不允许在网络上传递的,如:关于宗教、政治等敏感词语,那么我们在搜索时也应该忽略当前词汇。

IK分词器也提供了强大的停用词功能,让我们在索引时就直接忽略当前的停用词汇表中的内容。

1、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">ext.dic</entry><!--用户可以在这里配置自己的扩展停止词字典--><entry key="ext_stopwords">stopword.dic</entry><!--用户可以在这里配置远程扩展字典 --><!-- <entry key="remote_ext_dict">words_location</entry> --><!--用户可以在这里配置远程扩展停止词字典--><!-- <entry key="remote_ext_stopwords">words_location</entry> -->
</properties>

# 新建停用词 文件 
vim stopword.dic

sde 是我添加的停用词

4、重启es服务

# 重启服务
docker restart elasticsearch
docker restart kibana# 查看 日志
docker logs -f elasticsearch

5、测试效果

GET /_analyze
{"analyzer": "ik_max_word","text": "现在学习Java真是太好啦 奥力给 sde"
}

注意当前文件的编码必须是 UTF-8 格式,严禁使用Windows记事本编辑

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com