91名师指路-头部
91名师指路

elasticsearch-analysis-ik自定义扩展词库

由于某些原因,现在不支持支付宝支付,如需要购买源码请加博主微信进行购买,微信号:13248254750

介绍:elasticsearch-analysis-ik自定义扩展词库,因为ik自带的词库不能满足我们项目的需要,我们通过在ik分词器 IKAnalyzer.cfg.xml 中配置我们远程在ngxin中自定义的 fenci.txt 词库来实现自定义词库。


一:我们在docker中安装nginx,我们下载nginx镜像

docker pull nginx:1.20


二:在docker中启动nginx

docker run -p 80:80 --name nginx -d nginx:1.20


三:我们在mydata目录中创建nginx文件夹

cd /mydata
mkdir nginx


四:确保当前在mydat目录下,将容器内的配置文件拷贝到当前目录

注意:nginx后面有个空格,然后还有个点

cd /mydata
docker container cp nginx:/etc/nginx .

然后我们可以看到cd /mydata/nginx 目录下面多了很多nginx的配置。


五:经过上面的步骤我们已经将nginx的配置文件复制到了我们的/mydata/nginx目录,然后我们就可以在docker容器中停掉nginx,并在docker容器中删除。

5.1)停掉nginx

docker stop e0a6c6bede2d


5.2)移除nginx

docker rm e0a6c6bede2d


六:为了让里面的配置文件结构更清晰,我们在nginx的目录下建一个conf的文件夹,然后将上面的配置文件全部放到conf文件夹中。

6.1)确保当前在mydata目录下

cd /mydata

6.2)将nginx文件夹重命名为conf

mv nginx conf

6.3)创建nginx文件夹

mkdir nginx

6.4)将整个conf文件夹全部移到nginx目录下

mv conf nginx/


七:启动nginx,并将其挂载到mydata/nginx目录下

7.1)确保当前在nginx目录下

cd /mydata/nginx

7.2)启动nginx

docker run -p 80:80 --name nginx \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.20


启动完成后,会在/mydata/nginx 目录下创建html和logs文件夹


八:验证nginx是否安装成功

8.1)访问:http://192.168.78.133,出现如下的界面表示安装成功


8.2)当然了我们也可以给nginx指定一个欢迎页面。

新建一个index.html,里面内容如下

<html>
<body>
<h1>welcome shop https://91mszl.com</h1>
</body>
</html>

然后将其放到/mydata/nginx/html目录下


然后重新访问 http://192.168.78.133


九:接下来我们就来配置ik的自定义扩展词库

9.1)我们在/mydata/nginx/html 目录下创建es文件夹。

cd /mydata/nginx/html

创建es文件夹

mkdir es

9.2)我们创建 fenci.txt文件,里面的内容为

名师指路
电商
张无忌

我们将其上传到 /mydata/nginx/html/es 目录下


9.2)然后我们来进行访问 http://192.168.78.133/es/fenci.txt,访问乱码可以不用管


十:配置ik分词器远程词库地址

10.1)前提是已经安装好了ik分词器,安装ik分词器很简单,在github上下载:https://github.com/medcl/elasticsearch-analysis-ik/releases ,然后将下载的ik分词器解压然后上传到es的目录下即可,我们这里是将ik分词器放在 /mydata/elasticsearch/plugins目录下


10.2)进入到ik的config目录,找到 IKAnalyzer.cfg.xml文件

cd /mydata/elasticsearch/plugins/ik-7.6.2/config


10.3)我们将配置远程扩展字典的这行代码注释打开,并指定我们配置的远程分词地址


配置完成的截图如下


10.4)重启docker中的es

docker restart 1d3b8fd123e6


访问es确保es启动成功:http://192.168.78.133:9200


10.5)测试自定义扩展的分词效果,我们在 kibana中测试效果

POST _analyze
{
"analyzer": "ik_smart",
"text": "这是名师指路"
}


我们发现名师指路这是我们在fenci.txt中自定义的词语,这里就自动的分成一个词了。到此我们就完成了ik的自定义扩展词库。






2022-05-17 10:31:32     阅读(908)

名师出品,必属精品    https://www.91mszl.com

联系博主    
用户登录遮罩层
x

账号登录

91名师指路-底部