上海大金空调网站建设,可以发锚文本的网站,温州哪里可以做企业网站,基础微网站开发代理Docker安装部署ElasticsearchKibanaIK分词器 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器#xff0c;启动#xff01; Docker安装部署Kibana拉取镜像Kibana容器#xff0c;启动#xff01; 安装IK分词器安装方式一#xff1a;直接从github上… Docker安装部署ElasticsearchKibanaIK分词器 Docker安装部署elasticsearch拉取镜像创建数据卷创建网络elasticsearch容器启动 Docker安装部署Kibana拉取镜像Kibana容器启动 安装IK分词器安装方式一直接从github上下载安装方式二词典扩展与停用 Docker安装部署elasticsearch
目前elastic官网推荐使用的两个版本分别是
8.10.27.17.13
我尝试安装8.x版本的不过似乎由于虚拟机内存大小的原因集群状态总是转为RED无法重置elastic账户的密码因此我最终选择使用7.x版本的elasticsearch8.x版本的默认使用https来保证数据的安全性感兴趣的同学可以自行尝试。
由于IK分词器对于7.x版本最高只有7.17.6版本与之对应所以下载7.17.6版本的elasticsearch
拉取镜像
docker pull elasticsearch:7.17.6创建数据卷
一般来说我们不希望在elasticsearch容器停止时丢失elasticsearch中的文件因此我们创建一个数据卷来关联elasticsearch的data文件夹。在elasticsearch的使用中我们可能会安装各种插件因此创建了另一个数据卷来关联elasticsearch的plugins文件夹
docker volume create es-data
docker volume create es-plugins创建网络
一般来说我们在使用elasticsearch的时候会结合kibana一起使用为了他们能够正常关联我们创建一个网络来连接他们
docker net create es-netelasticsearch容器启动
ES_JAVA_OPTS是在设置堆大小我修改这个环境变量主要是因为我虚拟机的内存有限硬件允许的可以忽略
因为我是单机启动所以将discovery.type设置为single-node
es-net为上一步我们创建的网络名
docker run \
-d \
--name es \
--net es-net \
-p 9200:9200 \
-p 9300:9300 \
-e ES_JAVA_OPTS-Xms512m -Xmx512m \
-e discovery.typesingle-node \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
elasticsearch:7.17.6访问9200端口如果浏览器中出现这串json就证明elasticsearch启动成功了
{name: ab675a286e72,cluster_name: docker-cluster,cluster_uuid: ZdLfD65lQdKStAJi1yWMMQ,version: {number: 7.17.13,build_flavor: default,build_type: docker,build_hash: 2b211dbb8bfdecaf7f5b44d356bdfe54b1050c13,build_date: 2023-08-31T17:33:19.958690787Z,build_snapshot: false,lucene_version: 8.11.1,minimum_wire_compatibility_version: 6.8.0,minimum_index_compatibility_version: 6.0.0-beta1},tagline: You Know, for Search
}Docker安装部署Kibana
Kibana 是为 Elasticsearch设计的开源分析和可视化平台
拉取镜像
docker pull kibana:7.17.6Kibana容器启动
ELASTICSEARCH_HOSTS环境变量为elasticsearch服务的地址其中http://es:9200中的es是我们运行elasticsearch容器时起的别名
es-net为我们在之前创建的网络的名称
docker run \
-d \
-e ELASTICSEARCH_HOSTShttp://es:9200 \
--name kibana \
--net es-net \
-p 5601:5601 \
kibana:7.17.6Kibana的启动比较慢一段时间以后访问5601端口如果能正常进入控制台界面则证明Kibana部署成功
安装IK分词器
elasticsearch默认的分词器对于中文分词不友好
标准分词器分词
POST /_analyze
{text: elasticsearch 8.x版本太难啦, analyzer: standard
}{tokens : [{token : elasticsearch,start_offset : 0,end_offset : 13,type : ALPHANUM,position : 0},{token : 8,start_offset : 14,end_offset : 15,type : NUM,position : 1},{token : x,start_offset : 16,end_offset : 17,type : ALPHANUM,position : 2},{token : 版,start_offset : 17,end_offset : 18,type : IDEOGRAPHIC,position : 3},{token : 本,start_offset : 18,end_offset : 19,type : IDEOGRAPHIC,position : 4},{token : 太,start_offset : 19,end_offset : 20,type : IDEOGRAPHIC,position : 5},{token : 难,start_offset : 20,end_offset : 21,type : IDEOGRAPHIC,position : 6},{token : 啦,start_offset : 21,end_offset : 22,type : IDEOGRAPHIC,position : 7}]
}可以看到默认分词器对英文分词效果还不错但对于中文分词不太友好。
我们再来实施ik分词器
POST /_analyze
{text: elasticsearch 8.x版本太难啦, analyzer: ik_smart
}{tokens : [{token : elasticsearch,start_offset : 0,end_offset : 13,type : ENGLISH,position : 0},{token : 8.x,start_offset : 14,end_offset : 17,type : LETTER,position : 1},{token : 版本,start_offset : 17,end_offset : 19,type : CN_WORD,position : 2},{token : 太难,start_offset : 19,end_offset : 21,type : CN_WORD,position : 3},{token : 啦,start_offset : 21,end_offset : 22,type : CN_CHAR,position : 4}]
}可以看到ik分词器对与中文分词十分友好。接下来我们就安装ik分词器
安装方式一直接从github上下载
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip安装方式二
之前我们将es-plugins数据卷挂载到了es容器内的plugins文件夹。
我们先使用魔法从github上下载
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip
然后将压缩包解压到数据卷对应的位置然后重启elasticsearch容器即可。
词典扩展与停用
创建ext.dit文件添加扩展词创建stopword.dic文件停用词