Elasticsearch 7.17.24 是 ES 7.x 的最终稳定版本,本文记录在 Ubuntu 系统上通过 deb 包安装 ES 及 IK 中文分词器的完整步骤。
1. 下载安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.24-amd64.deb
2. 安装
sudo dpkg -i elasticsearch-7.17.24-amd64.deb
3. 修改配置
编辑 /etc/elasticsearch/elasticsearch.yml,添加以下内容:
network.host: 0.0.0.0http.port: 9200
discovery.type: single-node
network.host: 0.0.0.0 — 允许外网访问
http.port: 9200 — HTTP端口
discovery.type: single-node — 单节点模式,避免集群报错
4. 启动服务
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch
sudo systemctl start elasticsearch
sudo systemctl status elasticsearch
5. 安装IK中文分词器
cd /usr/share/elasticsearch
sudo bin/elasticsearch-plugin install https://get.infini.cloud/elasticsearch/analysis-ik/7.17.24
注意:IK分词器版本必须与ES版本一致,这里都是7.17.24。
6. 验证插件安装
# 重启ES
systemctl restart elasticsearch查看已安装插件,出现 analysis-ik 代表成功
正常输出应包含:
elasticsearch analysis-ik 7.17.24
7. 分词测试
curl -X POST http://127.0.0.1:9200/_analyze \
-H "Content-Type:application/json" \
-d '{
"analyzer":"ik_max_word",
"text":"我爱中国人工智能"
}'
返回分词数组代表IK分词器正常工作。常用分词器:
ik_max_word — 细粒度全切分,适合索引
ik_smart — 智能粗分词,适合搜索
常见问题
Q:启动失败,提示 vm.max_map_count 过小
# 临时生效
sysctl -w vm.max_map_count=262144永久生效
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p
Q:外网无法访问
检查防火墙是否放行9200端口:
sudo ufw allow 9200/tcp
评论