ElasticSearch
脑图知识图谱地址:ProcessOn Mindmap|思维导图
简介
ES是一个开源的分布式搜索和分析引擎,基于 Apache Lucene 构建,专为处理海量数据设计,支持实时搜索、分析和可视化。
排行第一的搜索引擎
官网地址:Elasticsearch:官方分布式搜索和分析引擎 | Elastic
应用场景
全文检索
日志分析
架构与生态
竞品分析
优势与特点
安装ES
这里我只写一下windows上如何安装ES其步骤简单。如果想要Linux安装的步骤就前往文章头部的脑图地址,在知识图谱里面有更加详细的安装过程与对应的说明
ES的目录结构
①下载ES的安装包
在文章首行的知识图谱脑图里面就有安装包的下载地址,点击下载在本地进行解压缩就可以了
②配置JDK环境变量
③修改ES的配置文件
④启动ES服务
最终的访问结果为
浏览器插件
简介:最经典的Elasticsearch浏览器插件,最初以Chrome插件形式存在,后逐渐演变为独立Web应用。提供基础的集群管理、索引查看和文档查询功能。
在文章首行知识图谱里面给了Head插件的下载地址,直接下载在本地解压缩就行了。
分词器插件
简介:在全文搜索和自然语言处理中,分词器(Tokenizer) 是将文本拆分成独立词汇或标记(Token)的关键组件。
IK分词器下载:Index of: analysis-ik/stable/
注意:分词器的版本一定要与ES的版本保持一致,否则就会出现服务启动就闪退的现象。下载好对应的插件之后就可以将压缩包解压缩之后放入Es的plugins目录下这样就算是配置好了插件应用
作用
文本切分:将连续文本拆分成有意义的词语或词元(Token)。
英文示例:
"Hello world"
→["Hello", "world"]
(按空格切分)。中文示例:
"我爱自然语言处理"
→["我", "爱", "自然语言", "处理"]
。
标准化处理:如去除标点、统一大小写、处理停用词(如“的”“是”)等。
支持搜索优化:通过分词后的词汇建立倒排索引,提升搜索效率。
中文分词器
中文没有显式的词语分隔符(如空格),且存在大量歧义组合和多义词,因此需要专门的分词算法。如:
歧义句子:
"结婚的和尚未结婚的"
→ 可能被错误切分为"结婚/的/和/尚未/结婚/的"
(正确应为"结婚/的/和尚/未/结婚/的"
)。未登录词问题:新词、专业术语(如“元宇宙”“奥密克戎”)未被词典收录时可能无法正确切分。
中文分词插件
Elasticsearch默认不支持中文分词,需通过插件集成第三方分词器。
(1) IK Analyzer
特点:
支持两种模式:
ik_smart
(粗粒度,适合搜索)、ik_max_word
(细粒度,适合索引)。可扩展自定义词典(如专业术语、品牌名)
(2) HanLP
特点:
支持多任务(分词、词性标注、命名实体识别)。
提供预训练模型和词典。
(3)icu_anallyzerer
特点:
icu_analyzer
是基于 ICU(International Components for Unicode) 库开发的多语言分词插件,专为国际化文本处理设计。它支持 Unicode 标准的文本分割规则,尤其适合处理包含多语言混合的复杂场景(如中日韩、阿拉伯语等)。
特性 | icu_analyzer | ik_analyzer |
---|---|---|
语言支持 | 多语言 | 专注中文 |
中文分词精度 | 低(单字切分) | 高(支持复合词识别) |
配置复杂度 | 中等(需自定义规则) | 简单(内置词典,易扩展) |
性能 | 较慢(Unicode 规则计算开销) | 快(词典匹配) |
场景示例
场景 | 推荐分词器 | 原因 |
---|---|---|
通用搜索(电商、内容平台) | IK Analyzer | 平衡速度与准确性,支持自定义词典 |
专业领域(法律、医学) | HanLP / 自定义模型 | 识别专业术语和新词 |
高实时性要求 | 结巴分词(Jieba) | 轻量级,速度快 |
测试分词效果
总结
中文分词器是处理中文文本搜索和分析的核心工具,其准确性直接影响搜索效果。选择合适的分词器(如IK Analyzer、HanLP)并配合自定义词典,能显著提升搜索相关性和用户体验。
Kibana
Kibana 是 Elastic Stack(原 ELK Stack)中的核心数据可视化工具,专为 Elasticsearch 设计,提供直观的交互式界面,帮助用户探索、分析和展示存储在 Elasticsearch 中的数据。
核心功能
数据可视化:通过图表(柱状图、折线图、饼图等)、地图、仪表盘展示数据趋势。
数据探索:使用 Discover 模块直接查询和过滤 Elasticsearch 中的原始数据。
交互式分析:支持复杂聚合(Aggregation)、时间序列分析(TSVB)及机器学习结果可视化。
运维与监控:集成 APM(应用性能监控)、日志分析(与 Logstash/Beats 配合)、警报(Alerting)功能。
管理 Elastic Stack:配置索引生命周期(ILM)、安全管理(角色/权限)、监测集群健康状态
主要模块
模块 | 功能 |
---|---|
Discover | 原始数据搜索与过滤,支持 Lucene 语法和 KQL(Kibana Query Language)。 |
Visualize | 创建图表(如柱状图、热力图),支持从聚合数据生成可视化。 |
Dashboard | 组合多个可视化图表,构建交互式仪表盘,支持实时刷新和共享。 |
Canvas | 生成动态数据报告,结合文本、图片和实时数据(适合制作 PPT 或运营报表)。 |
Machine Learning | 异常检测、预测分析(如流量趋势预测),集成 Elasticsearch 机器学习功能。 |
Maps | 地理空间数据可视化(如用户分布热力图)。 |
Dev Tools | 提供 Elasticsearch REST API 调试控制台,支持直接发送查询请求。 |
安装使用
下载地址:Past Releases of Elastic Stack Software | Elastic
修改配置文件
可以跟据具体的需求修改上述配置文件的参数,比如说ES与Kibana不在同一个机器上运行时就需要相应的参数进行适当的修改
注意:在启动Kibana的程序时一定要先启动ES程序(一般可以在控制台或者双击bin目录下的.bat文件启动服务)
效果图如下图所示,在其开发者工具端还可以进行相关ES的数据操作