Elasticsearch 全文检索服务器入门教程(含 IK 分词器)

ES安装中文IK分词器 ik分词器安装 阅读详情

一、为什么要用 Elasticsearch?

传统关系型数据库(如 MySQL)在做搜索时存在明显问题:

  • 多字段模糊查询需要 LIKE '%关键词%'

  • 会导致 全表扫描

  • 数据量大时性能急剧下降

Elasticsearch(简称 ES)​ 就是为了解决这些问题而生的。


二、什么是 Elasticsearch?

  • Elasticsearch 是一个 基于 Lucene 的全文检索服务器

  • 对外提供 RESTful API

  • 支持分布式、高可用、水平扩展

  • 常用于:

    • 搜索引擎

    • 日志分析(ELK)

    • 商品搜索、内容搜索


三、Elasticsearch 的核心原理

1️⃣ 正排索引(Forward Index)

文档 → 关键词

  • 类似:从字典第 1 页翻到第 N 页

  • 查找效率低

  • MySQL 使用的就是这种方式


2️⃣ 倒排索引(Inverted Index)✅

关键词 → 文档

倒排索引的组成

名称

说明

Term

分词后的关键词(类似字典目录)

Term → Document

关键词与文档之间的映射关系

Document

实际存储的数据

分词特点
  • 不重复(如:手机)

  • 无意义词不参与分词(的、地、得)

  • 不需要搜索的字段不参与分词(如 image)

✅ 搜索时,先在 Term 列表中匹配,再定位 Document


四、Elasticsearch 安装(Linux)

1️⃣ 准备环境

# 虚拟机内存建议 > 1.5G
free -h

2️⃣ 创建专用用户(⚠ ES 不能用 root 启动)

groupadd es
useradd admin
passwd admin
usermod -G es admin

su admin
groups

3️⃣ 授权目录

su root
chown -R admin:es /usr/upload
chown -R admin:es /usr/local

4️⃣ 上传并解压 ES

su admin
cd /usr/upload
tar -zxvf elasticsearch-6.2.3.tar.gz -C /usr/local

5️⃣ 修改配置文件

📄 elasticsearch.yml

cluster.name: power_shop
node.name: power_shop_node_1

network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300

discovery.zen.ping.unicast.hosts: ["192.168.61.135:9300"]

path.data: /usr/local/elasticsearch-6.2.3/data
path.logs: /usr/local/elasticsearch-6.2.3/logs

http.cors.enabled: true
http.cors.allow-origin: "*"

6️⃣ 修改系统参数(非常重要)

(1)文件句柄数
vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536

(2)虚拟内存
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p

7️⃣ 启动与关闭

cd /usr/local/elasticsearch-6.2.3/bin

# 启动
./elasticsearch

# 后台启动
./elasticsearch -d

查看进程:

ps -ef | grep elasticsearch
kill -9 PID

✅ 访问测试:

http://192.168.61.135:9200/

五、Elasticsearch 基础操作

1️⃣ Index 管理

✅ 创建索引
PUT /java06
{
  "settings": {
    "number_of_shards": 2,
    "number_of_replicas": 0
  }
}

⚠ 单机环境 replica 必须为 0


✅ 修改副本数
PUT /java06/_settings
{
  "number_of_replicas": 1
}

❗ 主分片数量一旦创建 不能修改


✅ 删除索引
DELETE /java06

2️⃣ Type 映射(Mapping)

POST /java06/_mapping/course
{
  "properties": {
    "name": {
      "type": "text"
    },
    "description": {
      "type": "text"
    },
    "studymodel": {
      "type": "keyword"
    }
  }
}

3️⃣ Document 操作

✅ 新增文档
POST /java06/course/1
{
  "name": "Python 从入门到放弃",
  "description": "人生苦短,我用 Python",
  "studymodel": "201002"
}

✅ 修改文档
PUT /java06/course/1
{
  "name": "Python 从入门到精通"
}

✅ 删除文档
DELETE /java06/course/1

✅ 查询文档
GET /java06/course/1

六、IK 分词器

1️⃣ 安装 IK

# 解压后上传到 plugins 目录
/usr/local/elasticsearch-6.2.3/plugins/ik

重启 ES。


2️⃣ 自定义词典

📄 IKAnalyzer.cfg.xml

<entry key="ext_dict">main.dic</entry>
<entry key="ext_stopwords">stopword.dic</entry>

文件

作用

main.dic

扩展词典(如:奥里给)

stopword.dic

停用词(的、地、得、a、an、the)

⚠ 文件编码必须是 UTF-8


3️⃣ 分词模式对比

模式

说明

使用场景

ik_smart

粗粒度

搜索

ik_max_word

细粒度

写入


七、总结

✅ Elasticsearch 通过 倒排索引​ 实现高效搜索

✅ 安装时注意 不能用 root 启动​

✅ 主分片数不可修改

✅ IK 分词器是中文搜索的关键


如果你愿意,我可以再帮你:

  • ✅ 起一个 优快云 爆款标题

  • ✅ 加一版 目录导航

  • ✅ 给你配一张 ES 架构示意图

  • ✅ 改成 面试问答版

你可以直接说:“帮我起个标题”​ 或 “我要面试版”​ 😊

ElasticSearch搜索服务器与IK分词器 ElasticSearch搜索服务器1.java语言全文检索技术2.ElasticSearch 安装配置使用入门 Window系统下载zip版本,linux系统下载tar版本 下载解压之后 bin 存放elasticSearch 运行命令 config 存放配置文件 data 存放数据 lib 存放elsticSearch运行依赖jar包 logs 存放日志 modul 阅读详情

相关推荐

K8s环境下安装ik分词器到Elasticsearch并重新生成包含分词器的Elasticsearch镜像

K8s环境下安装中文分词器-ik分词器到Elasticsearch并重新生成包含分词器的Elasticsearch镜像

Teacher_Wu的博客 986

【Elasticsearch系列十八】Ik 分词器

自己建立词库:每年都会涌现一些特殊的流行词,网红,蓝瘦香菇,喊麦,鬼畜,一般不会在 ik 的原生词典里自己补充自己的最新的词语,到 ik 的词库里面IKAnalyzer.cfg.xml:ext_dict,创建 mydict.dic。补充自己的词语,然后需要重启 es,才能生效自己建立停用词库:比如了,的,啥,么,我们可能并不想去建立索引,让人家搜索custom/ext_stopword.dic,已经有了常用的中文停用词,可以补充自己的停用词,然后重启 es。

优快云站内信: https://i.youkuaiyun.com/#/msg/chat/qyj19920704 2万+

Elasticsearch配置IK分词器-扩展词库和热更新

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

pleaseprintf的博客 1095

ElasticSearch教程——安装IK分词器插件

ElasticSearch汇总请查看:ElasticSearch教程——汇总篇 简介 IK Analyzer是一个开源的,基于Java语言开发的轻量级的中文分词工具包,最初的时候,它是以开源项目Lucene为应用主体的,结合词典分词和文法分析算法的中文分词组件,从3.0版本之后,IK逐渐成为面向java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现,IK实现了简...

东天里的冬天 6970

声纹识别实战:用Python从零搭建一个简易声纹验证系统(附完整代码)

本文是一份详细的声纹识别实战指南,教你使用Python从零搭建一个简易的声纹验证系统。文章涵盖了从音频采集、预处理、MFCC特征提取,到基于高斯混合模型(GMM)的建模与验证全流程,并提供了完整的代码实现,帮助开发者快速掌握这项生物特征识别核心技术。

ik6789012的博客 230

从网口变压器到TVS管:手把手设计通过4KV浪涌的以太网电路

本文详细解析工业级以太网接口4KV浪涌防护设计,从网口变压器选型到TVS管布局,提供通过IEC61000-4-5标准测试的完整方案。重点介绍Bob Smith电路优化和PCB设计技巧,帮助工程师有效应对雷电感应和设备开关瞬态干扰,确保工业设备稳定运行。

study的专栏 283

【 Java微服务中间件 】Elasticsearch 分布式搜索引擎Linux系统安装指南:从 ES 到 IK 分词器与 Kibana可视化平台

本文聚焦 Ubuntu 环境下 Elasticsearch、IK 分词器、Kibana 的安装与问题排查,介绍 ES 作为搜索引擎、IK 解决中文分词、Kibana 实现可视化的核心价值,强调版本一致性,并针对组件启动、依赖、链接等常见问题提供解决方案,助力 ELK 组件顺畅部署。

Varin 2056

UE5高斯泼溅落地全链路:从PLY导入到实时渲染的工程实践

3D高斯泼溅(3D Gaussian Splatting)正从NeRF后处理技术演进为新一代隐式几何渲染范式,其核心在于以可微椭球体替代传统三角面片,通过协方差矩阵与球谐系数实现高质量体素化渲染。该技术突破点云精度瓶颈,但与UE5现有资产管线存在根本性不兼容——静态网格导入器无法解析scale/rot/sh系数等非标顶点语义,标准光栅化管线亦无法执行高斯核采样计算。XV3DGS-UEPlugin通过自定义资产类型、StructuredBuffer GPU数据流与专用材质节点,将高斯泼溅重构为可编辑、可LOD

weixin_33692177的博客 356

【Elasticsearch入门到落地】5、安装IK分词器

K分词器(IK Analyzer)是一款开源的中文分词工具,支持智能分词、细粒度分词等多种分词模式。它基于词典的分词算法,结合了最大匹配法和逆向最大匹配法,能够在保证分词准确性的同时,保持较高的分词速度。IK分词器的主要作用是将中文文本切分为有意义的词项,为后续的文本分析、信息检索、机器学习等任务提供基础数据。其优势在于高效性、灵活性和多种分词模式,适用于不同的应用场景。

程序猿之洞 3812

fasterlio原理及代码框架梳理

Faster-LIO 的优势是在保持同等高精度的前提下,显著提升计算效率,以支持更极端的应用场景(如高速无人机)和更廉价的硬件平台。可以把 Faster-LIO 理解为用一把更快的“空间哈希筛子”(iVox)替换了原来精细的“动态平衡树”(ikd-Tree),从而在精度损失极小的情况下,实现了效率的显著提升。:只在实际有地图点的空间区域动态创建和保留体素单元,形成一个稀疏的体素地图。是关键:将去畸变点云中的每个点,在 iVox 维护的局部地图中搜索近邻(如5个最近点),构建点到面的距离残差。

Studying…… 246

Halcon 深度学习实战:PCB 缺陷检测模型的 TensorRT/OpenVino 加速推理

本文介绍了如何利用TensorRT和OpenVino对Halcon深度学习模型进行加速优化,以提升PCB缺陷检测系统的实时性能。文章详细阐述了模型加速框架的选择策略(根据硬件选用TensorRT或OpenVino)、优化流程实施(包括混合精度优化和模型导出)以及加速后的推理实现。实验结果表明,优化后的模型体积缩小40%,推理速度提升2-5倍(GPU环境下从79ms降至38ms,CPU环境下从3804ms降至2152ms),同时保持检测精度。通过完整的代码示例展示了从模型加速到实际部署的全流程,为工业视觉场景

LIN943168247的博客 535

ElasticSearch(ik分词器)+SpringBoot站内全文搜索解决方案

目录摘要1 技术选型1.1 ElasticSearch1.2 springBoot1.3 ik分词器2 环境准备3 项目架构4 实现效果4.1 搜索页面4.2 搜索结果页面5 具体代码实现...

独行侠梦的博客 3528

华为OD机试真题2025双机位C卷 Java&Go 实现【卡牌游戏】

小明正在尝试一种新的牌游戏。游戏规则只如下:首先,小明拿到一张写有数字m的牌。 然后,他会拿到另外n张牌,上面分别写有不同的数字,牌排成一排。小明的目标是从这排牌中找到一串连续的牌,这些牌上数字的总和可以被 m整除。你的任务是判断小明是否可以完成这个目标。

MISAYAONE的博客 392

Elasticsearch、ik分词器、elasticsearch-head、Kibana的认识与安装

不过开发中,我们一般使用elasticsearch-head来查看elasticsearch的数据而已,真正对elasticsearch进行增删查改操作一般我们使用kibana或者postman或者编程语言实现的客户端来完成。默认情况下,elasticsearch是外国开发的,所以本身对于中文分词构建分词索引的支持是不行的。访问elasticsearch-head:http://127.0.0.1:9100/,会发现无法连接elasticsearch,原因是因为跨域问题导致。

m0_66925868的博客 1694

4.3 Langfuse 集成实战:追踪 OpenAI、LangChain 和 LangGraph 应用

本文介绍了如何将Langfuse集成到不同类型的AI应用中,包括原生OpenAI、LangChain和LangGraph应用。主要内容包括: 两种集成模式:手动追踪(精确控制)和自动追踪(通过回调机制) 三种应用场景的集成方案: 原生OpenAI应用:使用langfuse.trace()手动记录对话流程、LLM调用和工具执行 LangChain应用:通过LangfuseCallbackHandler自动追踪Agent执行过程 LangGraph应用:与LangChain相同的自动追踪方式,可可视化节点和状态

yonggeit的博客 3302

FanucROBOGUIDE软件二次开发:使用ROBOGUIDEAPI进行编程

菜单栏:位于界面顶部,提供文件、编辑、视图、插入、格式、工具、窗口和帮助等选项。工具栏:包含常用的工具按钮,如新建、打开、保存、运行、停止、机器人控制等。工作站视图:显示工作站的3D模型,用户可以在这里放置机器人、工件、工具和其他设备。机器人控制面板:用于控制机器人运动,包括手动移动、程序编辑和运行。程序编辑器:在这里可以编写和编辑机器人程序,支持Fanuc的R-30iB Plus和R-30iB控制柜的程序格式。状态栏:显示当前工作站的状态信息,如机器人位置、程序状态等。

kkchenjj的博客 1407

elasticsearch安装和使用ik分词器

本文一起来安装ik分词器,达到中文分词的效果

程序员欣宸的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Elasticsearch 中文分词器 IK 的安装与使用

前言 本文隶属于专栏《1000个问题搞定大数据技术体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和文献引用请见1000个问题搞定大数据技术体系 正文 ES默认对英文文本的分词器支持较好,但和lucene一样,如果需要对中文进行全文检索,那么需要使用中文分词器,同lucene一样,在使用中文全文检索前,需要集成IK分词器。 那么我们接下来就来安装IK分词器,以实现中文的分词 第一步:三台机器安装IK分词器 将安装包上传到node01机器的/home/e

Shockang的博客 7514

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

springboot整合elasticsearch+ik分词器+kibana

ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

刻苦的樊同学 1225

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

ES搜索引擎以及IK分词器

什么是搜索? 根据一个搜索词,检索出所有包含该词的数据 例如:用户在搜索框输入一个词,客户端软件发送一个请求到后台,后台通过sql语句从数据库中找出相关条目(数据库会一条一条的对比),这就是一个最简单搜索原型 普通搜索面临的问题 1, 当数据量很大时,假如500G, 效率低。从用户角度,从点击搜索按钮到看到搜索结果可能要很长时间,1小时?2小时?用户疯掉 2, 当数据量达到1T,一台电脑已经放不下...

Static_HackSun的博客 1217

ElasticSearch的下载和安装集成SpringBoot及IK分词器

虽然全文搜索领域,Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。ES是一个分布式的全文搜索引擎,为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案,ES的索引库管理支持依然是基于Apache Lucene(TM)的开源搜索引擎。

2301_77320332的博客 1559

Linux环境Elasticsearch、Kibana、IK分词器,最全安装步骤

Elasticsearch、Kibana、IK分词器的最全安装步骤

Good good study,day day up 3043

docker安装es kibana ik分词器

docker安装elasticSearch kibana ik单机应用,原创不易一点点试错

weixin_44898171的博客 1503

ElasticSearch-IK分词器(elasticsearch插件)安装配置和ElasticSearch的Rest命令测试

ElasticSearch-IK分词器(elasticsearch插件)安装配置和ElasticSearch的Rest命令测试

小孔靠得住的博客 4968

elasticsearch ik 分词器动态词典

环境准备 docker 安装的 es,并且安装了 ik 分词器 docker 安装的 kibana docker 安装的 nginx 如果以上软件未安装,可以移步以下教程: docker 安装 nginx 代理服务器,并实简单的 html 服务器,和数据卷 docker 安装 es + kibana + ik IK 分词器配置文件 ik 分词器是默认支持远程词典和热跟新的 我们打开 分词器的配置文件,可以看到以下内容 配置文件路径:plugins/ik/config/IKAnalyzer.cfg.

qq_34304427的博客 6853

ES搜索引擎 ik_max_word和ik_smart分词器 索引 Kibana

ES中put 新增post 修改 Kibana开发工具,用来往ES引擎中对文档进行操作和生成文档的对应索引的 ik_max_word最细密度的拆分文本,会穷尽各种组合,适用于Term Query ik_smart最粗密度的拆分文本,适合Phrase查询 文档经过ik分词器生成倒排索引 (字符串两种text类型分词,keyword不分词(barcode条码)) ik分词器有自己的词典存有百万计的中文词,分出的词段与字典匹配,字典有就保留 索引(是具有实现关键词-文档矩阵的具体数据结构的数据)(里.

weixin_58952901的博客 7350
上一篇: Nginx 入门教程(安装、反向代理、负载均衡、动静分离)
下一篇: RabbitMQ 入门详解(含安装 + 配置 + 管理后台)
StackNoOverflow
博客等级 码龄1年 22粉丝 48原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值