Elasticsearch简介
分布式搜索 ES
- Elasticsearch 简称为 ES, 是一个
开源
的可扩展
的分布式
的全文检索引擎
。 - ES 使用
Java
开发并使用Lucene
作为其核心来实现索引和搜索的功能。 - 它通过简单的
RestfulAPI
和JavaAPI
来隐藏Lucene
的复杂性
,从而让全文搜索变得简单。
ES 官网:https://www.elastic.co/cn/elasticsearch/
ES 常见的使用场景
- 搜索类场景。
- 日志分析类场景。
- 数据预警平台及数据分析场景。
ES 使用情况
- 维基百科、百度百科
- stack overflow
- github
- 京东
- 今日头条
- ...
全文搜索方案对比
Lucene
- Lucene 是
Apache
基金会维护的一套完全使用 Java 编写的信息搜索工具包(Jar包) - Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
- 想要使用 Lucene,必须使用 Java 来作为开发语言并将其直接集成到你的应用中,并且 Lucene 的配置及使用非常复杂。
- 不支持集群环境。
Solr
- Solr 是一个有 HTTP 接口的基于 Lucene 的查询服务器,是一个搜索引擎系统。
- 封装了很多 Lucene 细节,Solr 可以直接利用 HTTP GET/POST 请求去查询,维护修改索引。
- Solr 利用 Zookpper 进行分布式管理。
- 单纯的对已有数据进行搜索时,对于一开始固定的数据 Solr 更快,对于实时产生的数据的时候, solr 会产生 io 阻塞, 查询性能比较差。
Elasticsearch
- Elasticsearch 也是一个建立在全文搜索引擎
Apache Lucene
基础上的搜索引擎。 - Elasticsearch 自身带有
分布式协调
管理功能。 - 当实时建立索引时, Solr 会产生 io 阻塞,查询性能较差, Elasticsearch 会具有明显的优势。
标签:
ElasticSearch
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具