当前位置: 首页 > news >正文

Windows部署ElasticSearch,安装IK分词器

下载ElasticSearch安装包

直接打开这个链接:Download Elasticsearch | Elastic,页面是这样的:

点击 Windows 下载的就是文件压缩包,当前最新的版本是 9.5.0,可以在 Summary 中选择历史版本:View past releases。

下载得到的是 ES 的压缩包,直接解压即可,我解压的路径是没有中文字符的,我也不清楚文件路径有中文字符会不会有什么问题。(我记得我大一刚上学的时候用户名就是中文,一直用到大三才第一次重装系统,才改成英文,在此之前都没出现过什么问题)

先来认识一下 ES 的目录结构:

bin:可执行文件目录。

config:配置文件目录。

jdk:ES 在 9.5.0 版本是自带 jdk 的,不需要本地安装 jdk,我在网上搜到是 7.x 版本才自带 jdk。

plugins:插件目录,之后安装 IK 分词器就是要放到这里。

修改配置

进入 config 目录,打开 elasticsearch.yml 文件。

直接全部删除,然后复制粘贴下面的内容就可以了。

cluster.name: my-es # 集群名称 node.name: node-1 # 节点名称 path.data: C:\Users\admin\Downloads\elasticsearch-9.5.0-windows-x86_64\data # 数据存储路径 path.logs: C:\Users\admin\Downloads\elasticsearch-9.5.0-windows-x86_64\logs # 日志存储路径 network.host: localhost # 绑定本地地址 http.port: 9200 # 端口,默认9200 discovery.type: single-node # 单节点模式,一个集群里面只有一个节点,不需要发现其他节点 xpack.security.http.ssl.enabled: false # 关闭HTTPS,方便本地访问 xpack.security.enabled: false # 免密码登录

Ctrl + S 保存修改,然后进入 bin 目录,双击 elasticsearch.bat 启动 ES 程序,会打开一个命令行界面,关闭这个界面就是关闭 ES 进程。

在我的电脑上启动比较慢,大概要等 30-40 秒才能完全启动成功。在浏览器输入 http://127.0.0.1:9200 返回下面的内容表示启动成功。

这里的 http://127.0.0.1:9200 都是在 elasticsearch.yml 文件中配置的,包括返回的响应中,name 和 cluster_name 都是我们自己配置的内容。

ES 启动成功,可以通过 http 请求获取 ES 的服务,可以安装 ES 的可视化工具,比如 Kibana。

当然,ES 需要用 http 请求调用接口,只需要能够发送 http 请求就可以了,不一定要安装 Kibana,也可以用 postman、apifox 这些接口测试软件。

甚至,可以编写 python、java 程序发送 http 请求。但是,如果你是通过 js 发送请求,那就遭老罪了。

fetch("http://127.0.0.1:9200", { "method": "GET" })

发送最简单的 GET 请求,然后就可以在控制台上看到熟悉的跨域报错:

需要在 elasticsearch.yml 中添加跨域配置:

http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE http.cors.allow-headers: "*" http.cors.allow-credentials: true

修改配置后需要重启服务才能生效,现在就可以用 js 发送 http 请求了。

安装 IK 分词器

IK 分词器在 github 的地址:IK分词器,我们赶紧打开链接,进入 Release 吧。

但是插件已经不在 github 发布了,需要去 索引:analysis-ik/stable/ 这里下载,在下载插件的时候要注意和 ES 的版本保持一致,就比如我安装的 ES 是 9.5.0,这里的插件也要下载 9.5.0 的。

下载完之后解压,将解压得到的文件放到 plugins 目录下面即可。

怎么验证是否安装成功呢?我们可以用中文进行分词检测,因为 ES 自带的分词器是偏向于英文的,如果是中文句子,会把每个汉字当成一个独立的字符进行分词,是不能辨别汉字的意思的。

fetch("http://localhost:9200/_analyze", { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ analyzer: 'standard', text: '绿色的森林' }) });

如果用标准分词器,结果是这样的:

现在可以使用 IK 分词器提供的 ik_smart 和 ik_max_word 进行分词:

  • ik_smart:智能分词
  • ik_max_word:尽可能分出更多的词
  • 入库的时候可以用 ik_max_word 分词,提供足够大的样本。查找的时候用 ik_smart 分词。

换成 ik_smart 之后就可以正常理解中文意思了:

fetch("http://localhost:9200/_analyze", { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ analyzer: 'ik_smart', text: '绿色的森林' }) });

jvm 堆内存优化

现在 ES 可以启动,IK 分词器也安装好了,但是这个程序非常吃内存,默认可以吃掉 8G 内存。

这是没有调整 jdk 堆内存的情况,我的笔记本是 16G 内存,再加上其他程序,内存占用就来到了 80% 左右。

进入 config 目录,打开这里的 jvm.options 文件。

  • Xms:初始堆内存
  • Xmx:最大堆内存

我改成了 2g,之后重启服务,现在最大内存就只占用 2g 左右了。

http://www.jsqmd.com/news/1391900/

相关文章:

  • 揭秘信阳网站建设公司如何助力实体企业实现数字化腾飞与品牌升级
  • bilibili-parse 上手:一个 URL 拿到 B 站视频直链,PHP 部署与参数避坑指南
  • Enhancing Sequential Recommendation with World Knowledge from Large Language Models
  • 一键提升Illustrator工作效率20倍的免费脚本合集:5分钟从安装到上手
  • 如何彻底清理此电脑顽固图标?MyComputerManager开源工具实测笔记
  • 数据治理到底由谁负责?业务、IT和数据部门职责怎么划分?
  • 从入门到精通揭秘苏州h5网站建设的全流程与避坑指南
  • 如何用 SteamAutoCrack 快速完成 Steam 游戏自动破解:新手完整实战指南
  • 直流断路器安秒特性测试仪操作使用指南 - HVHIPOT
  • FGO玩家告别体力焦虑:Chaldea素材规划与战斗模拟完整上手指南
  • 微信防撤回补丁全攻略:用RevokeMsgPatcher把撤回的消息永久留住
  • Nmap—— Windows平台安装步骤
  • GitHub 10k+ Star:用自然语言描述系统,AI 帮你生成可交互架构图
  • Redis_基础篇
  • Csp-j普及组2026初赛模拟卷4题解
  • mdx_q与mdx_extra_q终极对比:Demucs量化模型到底怎么选?
  • KMS_VL_ALL_AIO 激活脚本全指南:一个文件让 Windows 和 Office 告别激活提示
  • 久菱jv3000变频器按键 接线端子及报警处理方法
  • 高考突然降温:学历神话正在褪色,AI时代谁能胜出?
  • 银川胃癌保险拒赔怎么办?李晓伟律师团队解析律所选择与理赔策略 - 慢叙
  • 软考网络工程师|案例题解题方法 + 高频配置考点总结
  • 2026年衡水市政护栏来图定制厂家盘点 中亿金属等企业梳理 - 小范同学a
  • TVA智能体:破解具身智能商业化落地难题
  • 知识图谱项目:SPG、OpenSPG、KAG
  • 华为OD机试 - 路口等待时间(Java 新系统 200分)
  • 几分钟免费完成iOS 15-16激活锁绕过:applera1n图形化工具实战教程
  • 全自动一体化蒸馏仪品牌盘点:恒美智造多功能蒸馏器厂家实力解析 - 专业仪器测评品牌推荐
  • Win11Debloat系统优化实战:3个层面拆掉Windows 11的默认负担
  • 2026自贡靠谱室内装修推荐|口碑装企精选(业主实测版) - 装企精灵GEO
  • python的工业过程控制场景模拟第一百三十三篇:编写程序统计调节阀动作次数,到达阀值推送维保提醒。