ES、Lucene、Solr的介绍和区别

一、介绍

1、ES

  Elasticsearch是用Java开发并且是当前最流行的开源的企业级搜索引擎,支持多种语言

2、Lucene

        Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库(框 架),

  但是想要使用Lucene,必须使用Java来作为开发语言并将其直接集成到你的应用中

3、Solr

  Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。

  Solr提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展,并对索引、搜索性能进行了优化。

  Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中

 

二、对比

ES与Lucene的区别

Lucene,必须使用Java来作为开发语言并将其直接集成到你的应用中,并且Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解它 是如何工作的。lucene有很多缺陷,es并不存在。

  • 只能在Java项目中使用,并且要以jar包的方式直接集成项目中
  • 使用非常复杂-创建索引和搜索索引代码繁杂
  • 不支持集群环境-索引数据不同步(不支持大型项目)  
  • 索引数据如果太多就不行,索引库和应用所在同一个服务器,共同占用硬 盘.共用空间少.

ES与Solr对比

  • 单纯对已有数据进行搜索时,solr更快;但是实时简历索引时,solr会产生io阻塞,查询性能较差。而es不会
  • solr利用zk进行分布式管理,而es自身带有分布式协调管理功能。
  • solr支持更多的数据格式,如json、xml、csv等,而es仅支持json文件格式
  • solr在传统的搜索应用中表现好于es,但在处理实时搜索应用时效率明显低于es。

Solr与Lucene对比

  Lucene是一个开放源代码的全文检索引擎工具包,它不是一个完整的全文检索引擎,Lucene提供了完整的查询引擎和索引引擎,目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者以Lucene为基础构建全文检索引擎。

  Solr的目标是打造一款企业级的搜索引擎系统,它是一个搜索引擎服务,可以独立运行,通过Solr可以非常快速的构建企业的搜索引擎,通过Solr也可以高效的完成站内搜索功能。

posted @   叶不知秋  阅读(2262)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示