因为是测试需要,所以跟公司版本保持一致即可
sudo docker pull elasticsearch:7.4.2 sudo mkdir -p /data/es_home/config/config sudo mkdir -p /data/es_home/config/data sudo mkdir -p /data/es_home/config/plugins echo "http.host: 0.0.0.0" >> /data/es_home/config/elasticsearch.yml sudo chmod -R 777 /data/es_home/ sudo docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms84m -Xmx512m" -v /data/es_home/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /data/es_home/data:/usr/share/elasticsearch/data -v /data/es_home/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
常用命令
docker ps 查看是否启动 docker logs elasticsearch 启动日志查询 docker restart elasticsearch 重启 docker exec -it elasticsearch bash 进入
验证是否成功,打开链接 http://你的ip地址:9200
相当于 es 的可视化,常用功能,监控,控制台等
sudo docker pull kibana:7.4.2 sudo mkdir -p /data/kibana_home # 创建挂载配置目录 sudo chmod 777 /data/kibana_home # 赋值读写执行权限 sudo echo "server.host: 0.0.0.0" >> /data/kibana_home/kibana.yml sudo echo "elasticsearch.hosts: http://0.0.0.0:9200" >> /data/kibana_home/kibana.yml # 0.0.0.0 表示你的es容器ip,查看es容器的ip:docker inspect es容器id | grep IPAddress sudo docker run --name kibana -v /data/kibana_home/kibana.yml:/usr/share/kibana/config/kibana.yml -p 5601:5601 -d kibana:7.4.2
验证是否成功,打开页面:http://你的ip地址:5601/app/kibana,如果显示如下,则为成功
安装 ik 分词器插件和拼音分词器插件,请注意,版本需要和 es 版本保持一致
ik 分词器下载地址:https://github.com/medcl/elasticsearch-analysis-ik
拼音分词器下载地址:https://github.com/medcl/elasticsearch-analysis-pinyin
文末提供下载
下载后解压至 /data/es_home/config/plugins 文件夹内,重启 es 即可
# 删除索引
DELETE /my_index
# 新建索引 my_index,并新建拼音分词器 ik_smart_pinyin、ik_max_word_pinyin
PUT /my_index
{
"settings": {
"analysis": {
"analyzer": {
"ik_smart_pinyin": {
"type": "custom",
"tokenizer": "ik_smart",
"filter": ["my_pinyin", "word_delimiter"]
},
"ik_max_word_pinyin": {
"type": "custom",
"tokenizer": "ik_max_word",
"filter": ["my_pinyin", "word_delimiter"]
}
},
"filter": {
"my_pinyin": {
"type" : "pinyin",
"keep_separate_first_letter" : true,
"keep_full_pinyin" : true,
"keep_original" : true,
"limit_first_letter_length" : 16,
"lowercase" : true,
"remove_duplicated_term" : true
}
}
}
}
}
# 新建字段,并设置字段分词器为拼音
PUT /my_index/_mapping
{
"properties" : {
"name" : {
"type": "text",
"analyzer": "ik_smart_pinyin"
}
}
}
# 查询索引结构
GET /my_index/_mapping
# 新建测试数据
POST /my_index/_bulk
{ "index": { "_id": 1}}
{ "name": "张三"}
{ "index": { "_id": 2}}
{ "name": "张四"}
{ "index": { "_id": 3}}
{ "name": "李四"}
{ "index": { "_id": 4}}
{ "name": "亚特兰蒂斯"}
{ "index": { "_id": 5}}
{ "name": "Club Med 丽江度假村"}
{ "index": { "_id": 6}}
{ "name": "Club Med Joyview 安吉度假村村"}
{ "index": { "_id": 7}}
{ "name": "亚特"}
{ "index": { "_id": 8}}
{ "name": "蒂斯"}
# 测试是否匹配
GET /my_index/_search
{
"query": {
"match": {
"name": "亚特兰蒂斯"
}
}
}
测试效果
扩展
自定义分词,打开 /data/es_home/plugins/analysis-ik/config/IKAnalyzer.cfg.xml,可使用ext_dict,可读取当前文件夹dic文件,一般使用remote_ext_dict,做一个接口让ik远程读取扩展词即可
ik + pinyin-7.4.2 下载IK Analyzer 扩展配置



