本次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:

  1. ik_max_word会将文本做最细粒度的拆分,适合 Term Query;
  2. 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": ["天安门"]
}

在这里插入图片描述

拼音分词器拆词时,除了会将每个文字转化为拼音,也会存每个文字的首字母。实现搜索首字母也能返回对应结果的效果

效果示例如图:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐