记录部署的操作步骤
- 准备工作
- 编写docker-compose.yml
- 启动服务
- 验证部署结果
本次elasticsearch和kibana版本为8.2.2
使用环境:centos7.9
本次记录还包括:安装elasticsearch中文分词插件和拼音分词插件
准备工作
1、创建目录和填写配置
mkdir /home/es/single
echo "http.host: 0.0.0.0" >> ./config/elasticsearch.yml
echo "xpack.security.enabled: false" >> ./config/elasticsearch.yml
chmod -R 777 /home/es/single
2、准备中文分词插件和拼音分词插件
2.1 获取中文和拼音分词插件
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.2.2/elasticsearch-analysis-ik-8.2.2.zip
https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v8.2.2/elasticsearch-analysis-pinyin-8.2.2.zip
ps. github是国外网站不好访问,已将插件下载好放在了网盘里可自取:
链接: https://pan.baidu.com/s/1996C788VCKhZ6BIj7heumQ
提取码: p958
2.2 创建存放插件的文件夹
cd /home/es/single
mkdir plugins
将插件压缩包本地解压后 上传到 plugins文件夹下
编写docker-compose.yml
cd /home/es/single
vim docker-compose.yml
version: '2.1'
services:
elasticsearch:
image: elasticsearch:8.2.2
container_name: elasticsearch
restart: always
volumes:
- ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
- ./data:/usr/share/elasticsearch/data
- ./plugins:/usr/share/elasticsearch/plugins
environment:
- "discovery.type=single-node"
- "ES_JAVA_OPTS=-Xms64m -Xmx512m"
ports:
- 9200:9200
- 9300:9300
kibana:
image: kibana:8.2.2
container_name: kibana
restart: always
environment:
- ELASTICSEARCH_HOSTS=http://192.168.8.87:9200
ports:
- 5601:5601
启动服务
cd /home/es/single
# 后台启动
docker compose up -d
ps. 其他管理服务的命令
#关闭
docker compose stop
#关闭并删除容器
docker compose down
#重启服务
docker compose restart
验证部署结果
1、查看容器运行状态
docker ps
2、访问页面
Elasticsearch
Kibana
3、操作ES
步骤:
(1)进入Kibana
(2)使用Kibana的 Dev Tools 操作Elasticsearch
4、看分词器插件是否正常使用
4.1 查看插件
GET _cat/plugins
4.2 测试中文插件ik
ik提供的两种analyzer:
- ik_max_word会将文本做最细粒度的拆分,适合 Term Query;
- ik_smart: 会做最粗粒度的拆分,适合 Phrase 查询。
看 ik_max_word 分词结果
GET _analyze
{
"tokenizer": "ik_max_word",
"text": ["天安门"]
}
看 ik_smart 分词结果
GET _analyze
{
"tokenizer": "ik_smart",
"text": ["天安门"]
}
查看 拼音 分词结果
GET _analyze
{
"tokenizer": "pinyin",
"text": ["天安门"]
}
拼音分词器拆词时,除了会将每个文字转化为拼音,也会存每个文字的首字母。实现搜索首字母也能返回对应结果的效果
效果示例如图: