当前位置: 首页 > news >正文

Docker(十)-Docker运行elasticsearch7.4.2容器实例以及分词器相关的配置

1.下载镜像

1.1存储和检索数据
docker pull elasticsearch:7.4.2  

在这里插入图片描述

1.2可视化检索数据
docker pull kibana:7.4.2

在这里插入图片描述

2.创建elasticsearch实例

创建本地挂载数据卷配置目录
mkdir -p /software/elasticsearch/config  
创建本地挂载数据卷数据目录
mkdir -p /software/elasticsearch/data
写入远程任何机器访问配置
echo "http.host: 0.0.0.0" >> /software/elasticsearch/config/elasticsearch.yml9200 发送http请求端口
9300 es分布式集群状态下节点通信端口
"discovery.type=single-node"  单节点模式运行
ES_JAVA_OPTS="-Xms64m-Xmx256m" 指定es运行最小,最大内存   chmod -R 777 /software/elasticsearch/ 设置权限
未设置权限:"Caused by: java.nio.file.AccessDeniedException: /usr/share/elasticsearch/data/nodes"docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx256m" -v /software/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /software/elasticsearch/data:/usr/share/elasticsearch/data -v /software/elasticsearch/plugins:/usr/share/elasticsearch/plugins   --name=elasticsearch7.4.2 elasticsearch:7.4.2	

在这里插入图片描述
在这里插入图片描述

3.创建Kibana实例

ELASTICSEARCH_HOSTS  指定ES主机地址
docker run -d -p 5601:5601 -e ELASTICSEARCH_HOSTS=http://192.168.179.101:9200 --name=kibana7.4.2 kibana:7.4.2

在这里插入图片描述
在这里插入图片描述

4.安装分词器插件

1.解压
elasticsearch-analysis-ik 7.4.2版本(与ES版本一致)
将下载的分词器压缩包 解压到 本地挂载数据卷插件目录,解压完成后会同步到docker elasticsearch容器/usr/share/elasticsearch/plugins插件目录下

在这里插入图片描述

2.进入elasticsearch容器内部查看是否已同步
docker exec -it elasticsearch7.4.2 /bin/bash

在这里插入图片描述

3.更改ik目录权限
chmod -R 777 ik/
4.验证ik分词器是否安装好
进入elasticsearch bin目录执行elasticsearch-plugin list(列出安装好的ES插件)

在这里插入图片描述

5.重启ES容器实例
6.kibana中使用ik分词器
POST _analyze
{"analyzer": "ik_smart","text": "I人的项目"
}I人是一组词,但未识别,所以需要自定义扩展一些分词
{"tokens" : [{"token" : "i","start_offset" : 0,"end_offset" : 1,"type" : "ENGLISH","position" : 0},{"token" : "人","start_offset" : 1,"end_offset" : 2,"type" : "CN_CHAR","position" : 1},{"token" : "的","start_offset" : 2,"end_offset" : 3,"type" : "CN_CHAR","position" : 2},{"token" : "项目","start_offset" : 3,"end_offset" : 5,"type" : "CN_WORD","position" : 3}]
}
7.自定义扩展分词(通过nginx)
7.1 nginx中添加分词库(fenci.txt)
docker运行nginx容器实例可参考:https://blog.csdn.net/Java_Scholar0/article/details/140708367将拓展的分词库放在nginx中,让ik分词器给nginx发请求,获取拓展的词库。html文件夹下创建es文件夹并在其内创建fenci.txt文本,把拓展的分词加入到fenci.txt文本中

在这里插入图片描述

访问fenci.txt资源
http://192.168.179.101/es/fenci.txt

在这里插入图片描述

7.2配置ik分词器远程扩展分词地址
修改ik分词器配置文件
/software/elasticsearch/plugins/ik/config

在这里插入图片描述

将nginx中添加的分词库地址填写进去

在这里插入图片描述

7.3 重启ES容器
docker restart elasticsearch7.4.2
7.4 测试自定义扩展分词
POST _analyze
{"analyzer": "ik_smart","text": "I人的项目"
}发现I人没有被分割,则配置成功{"tokens" : [{"token" : "i人","start_offset" : 0,"end_offset" : 2,"type" : "CN_WORD","position" : 0},{"token" : "的","start_offset" : 2,"end_offset" : 3,"type" : "CN_CHAR","position" : 1},{"token" : "项目","start_offset" : 3,"end_offset" : 5,"type" : "CN_WORD","position" : 2}]
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • linux系统iptable防火墙开放指定ip及端口
  • 香橙派orangepi系统没有apt,也没有apt-get,也没有yum命令,找不到apt、apt-get、yum的Linux系统
  • CNCKAD激光切割软件
  • 【Ant Design Pro】快速上手
  • JavaWeb学习——请求响应、分层解耦
  • 昇思25天学习打卡营第22天|CycleGAN图像风格迁移互换
  • 代码随想录 day 25 回溯
  • Docker 制作java8镜像
  • 橙单前端项目下载编译遇到的问题与解决
  • 02 MySQL数据库管理
  • LabVIEW汽车动态信号模拟系统
  • 基于微信小程序+SpringBoot+Vue的刷题系统(带1w+文档)
  • 【C#】 CancellationTokenSource 与Thread的启动、取消的区别?
  • 打卡第27天------贪心算法
  • 探索Linux-1-虚拟机远程登陆XShell6远程传输文件Xftp6
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【知识碎片】第三方登录弹窗效果
  • ➹使用webpack配置多页面应用(MPA)
  • 2017届校招提前批面试回顾
  • angular2 简述
  • AWS实战 - 利用IAM对S3做访问控制
  • bootstrap创建登录注册页面
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • Effective Java 笔记(一)
  • iOS编译提示和导航提示
  • Java 多线程编程之:notify 和 wait 用法
  • Laravel 实践之路: 数据库迁移与数据填充
  • MySQL-事务管理(基础)
  • oschina
  • Stream流与Lambda表达式(三) 静态工厂类Collectors
  • windows-nginx-https-本地配置
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 工作手记之html2canvas使用概述
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 算法---两个栈实现一个队列
  • 一起参Ember.js讨论、问答社区。
  • MiKTeX could not find the script engine ‘perl.exe‘ which is required to execute ‘latexmk‘.
  • 第二十章:异步和文件I/O.(二十三)
  • 移动端高清、多屏适配方案
  • ​configparser --- 配置文件解析器​
  • ​LeetCode解法汇总2808. 使循环数组所有元素相等的最少秒数
  • #AngularJS#$sce.trustAsResourceUrl
  • (+4)2.2UML建模图
  • (java)关于Thread的挂起和恢复
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (libusb) usb口自动刷新
  • (pycharm)安装python库函数Matplotlib步骤
  • (二)Linux——Linux常用指令
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (附源码)ssm学生管理系统 毕业设计 141543
  • (函数)颠倒字符串顺序(C语言)
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (六)Flink 窗口计算
  • (一)Spring Cloud 直击微服务作用、架构应用、hystrix降级
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...