Elasticsearch简介

分布式搜索 ES

  • Elasticsearch 简称为 ES, 是一个 开源可扩展分布式全文检索引擎
  • ES 使用 Java 开发并使用 Lucene 作为其核心来实现索引和搜索的功能。
  • 它通过简单的 RestfulAPIJavaAPI 来隐藏 Lucene复杂性,从而让全文搜索变得简单。

ES 官网:https://www.elastic.co/cn/elasticsearch/

ES 常见的使用场景

  • 搜索类场景。
  • 日志分析类场景。
  • 数据预警平台及数据分析场景。

ES 使用情况

  • 维基百科、百度百科
  • stack overflow
  • github
  • 京东
  • 今日头条
  • ...

全文搜索方案对比

Lucene

image-20220104215410601

  • Lucene 是 Apache 基金会维护的一套完全使用 Java 编写的信息搜索工具包(Jar包)
  • Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
  • 想要使用 Lucene,必须使用 Java 来作为开发语言并将其直接集成到你的应用中,并且 Lucene 的配置及使用非常复杂。
  • 不支持集群环境。

Solr

image-20220104215520375

  • Solr 是一个有 HTTP 接口的基于 Lucene 的查询服务器,是一个搜索引擎系统。
  • 封装了很多 Lucene 细节,Solr 可以直接利用 HTTP GET/POST 请求去查询,维护修改索引。
  • Solr 利用 Zookpper 进行分布式管理。
  • 单纯的对已有数据进行搜索时,对于一开始固定的数据 Solr 更快,对于实时产生的数据的时候, solr 会产生 io 阻塞, 查询性能比较差。

Elasticsearch

image-20220104215713255

  • Elasticsearch 也是一个建立在全文搜索引擎 Apache Lucene 基础上的搜索引擎。
  • Elasticsearch 自身带有 分布式协调 管理功能。
  • 当实时建立索引时, Solr 会产生 io 阻塞,查询性能较差, Elasticsearch 会具有明显的优势。
posted @   BNTang  阅读(249)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示