Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。

Elasticsearch优点和缺点以及要点和难点具体应用 3.实时搜索与分析:Elasticsearch具有近实时的搜索能力,能够快速地索引和更新数据,并实时返回搜索结果。5.多租户与安全性:Elasticsearch支持多租户模式,可以在同一个集群中创建多个独立的索引,实现数据的隔离和共享。此外,它还支持故障转移和自动恢复,可以实现无缝的集群管理和维护,提高了系统的可靠性和容错性。4.数据同步问题:在需要添加新数据与新字段的时候,如果Elasticsearch进行搜索,可能需要重新修改格式,导致之前的数据需要重新同步。这可能会对数据的管理造成一些困难。 阅读详情

开源搜索引擎分类

1.Lucene系搜索引擎,java开发,包括:

  • Lucene
  • Solr
  • Elasticsearch
  • Katta、Compass等都是基于Lucene封装。

你可以想象Lucene系有多强大。

2.Sphinx搜素引擎,c++开发,简单高性能。

以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。

Lucene

1.Lucene简介

Lucene的开发语言是Java,也是Java家族中最为出名的一个开源搜索引擎,在Java世界中已经是标准的全文检索程序,它提供了完整的查询引擎和索引引擎,没有中文分词引擎,需要自己去实现,因此用Lucene去做一个搜素引擎需要自己去架构,另外它不支持实时搜索。但是solr和elasticsearch都是基于Lucene封装。

2.Lucene的优劣势

优点:

成熟的解决方案,有很多的成功案例。apache 顶级项目,正在持续快速的进步。庞大而活跃的开发社区,大量的开发人员。它只是一个类库,有足够的定制和优化空间:经过简单定制,就可以满足绝大部分常见的需求;经过优化,可以支持 10亿+ 量级的搜索。

缺点:

需要额外的开发工作。所有的扩展,分布式,可靠性等都需要自己实现;非实时,从建索引到可以搜索中间有一个时间延迟,而当前的“近实时”(Lucene Near Real Time search)搜索方案的可扩展性有待进一步完善

Apache Solr

阿里P8架构师谈:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

 

1.Slor简介

Solr是一个高性能,采用Java开发,基于Lucene的全文搜索服务器。

文档通过Http利用XML加到一个搜索集合中。

查询该集合也是通过 http收到一个XML/JSON响应来实现。它的主要特性包括:高效、灵活的缓存功能,垂直搜索功能,高亮显示搜索结果,通过索引复制来提高可用性,提 供一套强大Data Schema来定义字段,类型和设置文本分析,提供基于Web的管理界面等。

2.Solr的优缺点

优点

  1. Solr有一个更大、更成熟的用户、开发和贡献者社区。
  2. 支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。
  3. Solr比较成熟、稳定。
  4. 不考虑建索引的同时进行搜索,速度更快。

缺点

  1. 建立索引时,搜索效率下降,实时索引搜索效率不高。

Elastic Search

阿里P8架构师谈:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

 

1.ElasticSearch简介

ElasticSearch是一个基于Lucene构建的开源,分布式,RESTful搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。支持通过HTTP使用JSON进行数据索引。

2.Elasticsearch的优缺点

优点

  1. Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。
  2. Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。
  3. 处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。
  4. Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。
  5. 各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

缺点

  1. 还不够自动(不适合当前新的Index Warmup API)

Elasticsearch 与 Solr 的比较总结

  • 二者安装都很简单;
  • Solr 利用 Zookeeper 进行分布式管理,而 Elasticsearch 自身带有分布式协调管理功能;
  • Solr 支持更多格式的数据,而 Elasticsearch 仅支持json文件格式;
  • Solr 官方提供的功能更多,而 Elasticsearch 本身更注重于核心功能,高级功能多有第三方插件提供;
  • Solr 在传统的搜索应用中表现好于 Elasticsearch,但在处理实时搜索应用时效率明显低于 Elasticsearch。

总之,Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。

Sphinx

阿里P8架构师谈:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

 

1.Sphinx简介

Sphinx一个基于SQL的全文检索引擎,特别为一些脚本语言(PHP,Python,Perl,Ruby)设计搜索API接口。

Sphinx是一个用C++语言写的开源搜索引擎,也是现在比较主流的搜索引擎之一,在建立索引的事件方面比Lucene快50%,但是索引文件比Lucene要大一倍,因此Sphinx在索引的建立方面是空间换取事件的策略,在检索速度上,和lucene相差不大,但检索精准度方面Lucene要优于Sphinx,另外在加入中文分词引擎难度方面,Lucene要优于Sphinx.其中Sphinx支持实时搜索,使用起来比较简单方便.

Sphinx可以非常容易的与SQL数据库和脚本语言集成。当前系统内置MySQL和PostgreSQL 数据库数据源的支持,也支持从标准输入读取特定格式 的XML数据。通过修改源代码,用户可以自行增加新的数据源(例如:其他类型的DBMS 的原生支持)

2.Sphinx的特点

  • 高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒);
  • 高性能的搜索(在2 – 4GB 的文本数据上,平均每次检索响应时间小于0.1秒);
  • 可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可 处理100 M 文档);
  • 提供了优秀的相关度算法,基于短语相似度和统计(BM25)的复合Ranking方法;
  • 支持分布式搜索;
  • 支持短语搜索
  • 提供文档摘要生成
  • 可作为MySQL的存储引擎提供搜索服务;
  • 支持布尔、短语、词语相似度等多种检索模式;
  • 文档支持多个全文检索字段(最大不超过32个);
  • 文档支持多个额外的属性信息(例如:分组信息,时间戳等);
  • 支持断词;
YOLOv8实例分割实战:从LabelMe标注到模型训练全流程(附完整代码) 本文详细介绍了YOLOv8实例分割的完整实战流程,涵盖从使用LabelMe进行数据标注、格式转换,到构建数据集、配置参数并完成模型训练的全过程。文章提供了详尽的代码示例和常见问题解决方案,旨在帮助开发者高效掌握YOLOv8实例分割技术,快速应用于实际项目。 阅读详情

相关推荐

STM32使用LORA模块通信

目录 一、模块使用方法 1、模块简介 2、硬件及功能 3、传输方式 二、模块上手 1、连接 2、编写代码 usart3.h usart3.c lora.h lora.c 一、模块使用方法 本文以正点原子ATK-LORA-01模块为例进行介绍。 1、模块简介 ATK-LORA-01-V3.0(V3.0是版本号,下面均以ATK-LORA-01表示该产品)是ALIENTEK推出的一款体积小、微功率、低功耗、高性能远距离LORA无线串口模块。模块设计是采用高效的IS...

qq_54706971的博客 3万+

开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Lucene封装。 你可以想象Lucene系有多强大。 2.Sphinx搜素引擎,c++开发,简单高性能。 以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。...

360linker 1万+

记录一次小项目中的重放攻击与解决方案

文章目录1、重放攻击简介2、重放攻击演示3、解决方案4、重放攻击验证 欢迎各位 前(提)来(出)讨(意)论(见)。 1、重放攻击简介 重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。 举个简单的小例子。 我们往系统里面插入一条数据,如果此次操作的数据包被攻击者获取,又恰巧后台没有对重复内容进行验证,那么攻击者就可以利用该数据包重复的发起请求,无限制的往数据库插入数据,即使请求包是加密的也

fiveSix 8726

ElasticSearch VS. Solr VS. Sphinx:最好的开源搜索引擎比较

译者按:本文是来自一家乌克兰技术公司的文章。该文章译者认为着重在应用上,而非单纯的性能对比。给自己的平台选择一个合适的搜索引擎比任何一个吹嘘技术强大的好。虽然最近一两年 ES发展飞速,但sphinx的简单易用性还是赢得很多机构公司的青睐,比如优酷土豆都是用sphinx。所以使用之前,务必先了解...

chenxiyy3773的专栏 1220

混合示教长短时记忆网络的车辆轨迹预测研究

论文"混合示教长短时记忆网络的车辆轨迹预测研究"中数据处理及MTF-LSTM模型实现代码,模型在Pytorch框架下实现。

ColinFhz的博客 1448

瑞芯微RK3568与RK3566芯片选型指南:从接口差异到应用场景深度解析

在嵌入式系统与边缘计算领域,芯片选型是决定产品成败的关键一步。其核心在于理解芯片的架构、接口扩展能力与系统可靠性之间的平衡。以瑞芯微(Rockchip)的RK3568和RK3566为例,这两款同为四核A55架构的芯片,在基础算力上相近,但其面向的应用赛道却因接口配置而截然不同。RK3568凭借其双千兆网口、PCIe 3.0高速接口以及全链路ECC内存支持,在技术价值上更侧重于构建高可靠、高扩展性的系统,如边缘计算网关、工业控制器和网络视频录像机(NVR)。相比之下,RK3566则以其精简的接口配置,精准服务

weixin_33314040的博客 480

Lucene、Solr和 Elasticsearch的技术选型

Lucene Lucene使用上更加灵活,但是需要自己处理搜索引擎系统架构,以及其他附加功能的实现。 Solr和Elasticserach solr对lucene做了很多封装,是一个处于高层的框架,Lucene很多新特性不能及时向上透传,所以有时候可能发现需要一个功能,Lucene是至此的,但是Solr上看不到相关的接口的情况。 solr利用zookeeper进行分布式管理,而elasticsearch自身带有分布式协调管理功能。 solr比elasticserach实现更加全面,solr官方提供的功能更多

keller的博客 586

ADS2016子电路封装避坑指南:手把手教你制作可复用的自定义Symbol

本文详细介绍了在ADS2016中制作可复用的自定义Symbol的全流程,重点解析了子电路封装的常见问题与解决方案。从电路模块的标准化处理、Hierarchy创建技巧到Symbol视觉优化和库管理策略,帮助工程师提升射频与微波电路设计效率。特别针对Symbol比例适配和引脚优化等核心问题,提供了实用的避坑指南和工程验证方法。

weixin_30275415的博客 214

paip.;论全文检索实现方式lucene Sphinx solr以及比较

paip.;论全文检索实现方式lucene  Sphinx  solr以及比较   1.    1lucene(solr,elasticsearch 都是基于它)..................................................................... 1 2.    Lucene缺点...........................

attilax的专栏 5210

《点云进阶》专栏文章目录

点云进阶》专栏文章目录

点云侠的博客 4905

大华 DSS 数字监控系统 itcBulletin SQL 注入漏洞复现

大华 DSs 数字监控系统是大华开发的一款安防视频监控系统,拥有实时监视、云台操作、录像回放、报警处理、设备管理等功能。大华 DSS存在SQL注入漏洞,攻击者 pota/services/itcBuletin 路由发送特殊构造的数据包,利用报错注入获取数据库敏感信息。攻击者除了可以利用 SQL注入漏词获取数据库中的信息例如,管理员后台密码、站点的用户人人信息)之外,甚至在高权限的情况可向服务器中写入木马,进一步获取服务器系统权限poc验证是否存在漏洞如果你想查询用户名和密码。

holyxp的博客 4003

阿里P8架构师谈:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Lucene封装。 你可以想象Lucene系有多强大。 2.Sphinx搜素引擎,c++开发,简单高性能。 以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearc...

一个有情怀的程序猿博客 819

Labview界面多按钮控件的一种处理方法

当界面中存在多个按钮控件时候,此时如果逐个为每个控件添加事件条件则会显得较为麻烦,此处提供了一种对多控件进行批量处理的方法

miracleis的博客 2703

开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx优劣势比较

https://blog.youkuaiyun.com/belalds/article/details/82667692 开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Lucene封装。 你可以想象Lucene系有多强大。 2.Sphinx搜素引擎,c++开发,简单高性能。 以下重点介绍最常用的开...

weixin_33856370的博客 294

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

lucene solr mysql_开源搜索引擎Lucene、Solr、Sphinx等优劣势比较

原标题:开源搜索引擎Lucene、Solr、Sphinx等优劣势比较开源搜索引擎分类1.Lucene系搜索引擎,java开发,包括:LuceneSolrElasticsearchKatta、Compass等都是基于Lucene封装。你可以想象Lucene系有多强大。2.Sphinx搜素引擎,c++开发,简单高性能。以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch...

weixin_36258014的博客 170

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

lucene solr mysql_开源搜索引擎Lucene、Solr、Sphinx等优劣势比较-Go语言中文社区

开源搜索引擎分类1.Lucene系搜索引擎,java开发,包括:LuceneSolrElasticsearchKatta、Compass等都是基于Lucene封装。你可以想象Lucene系有多强大。2.Sphinx搜素引擎,c++开发,简单高性能。以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。Lucene1.Lucene简...

weixin_32459553的博客 225

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

开源搜索引擎Lucene、Solr、Sp

转自:http://www.sohu.com/a/278551308_99994950 阿里P8架构师谈(分布式系列):开源搜索引擎Lucene、Solr、Sp 2018-12-11 12:49 一、开源搜索引擎分类 1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Luce...

boss_way的博客 600

搜索引擎简介

1.Lucene系搜索引擎,java开发,包括: Lucene Solr Elasticsearch Katta、Compass等都是基于Lucene封装。 你可以想象Lucene系有多强大。 2.Sphinx搜素引擎,c++开发,简单高性能。 以下重点介绍最常用的开源搜素引擎:Lucene、Solr、Elasticsearch、Sphinx的特点和优劣势选型比较。 Lucene ...

Faith的博客 742

【每日一读Day4】主流开源搜索引擎对比

本文对比了主流开源搜索引擎,分为倒排索引、向量搜索和轻量级引擎三大类。倒排索引方面,Elasticsearch适合海量文本检索,Solr以稳定性见长,Lucene是底层核心库;向量搜索领域,FAISS性能最强,Milvus支持分布式,Vespa擅长混合检索;轻量级引擎如MeiliSearch适合即时搜索。此外,文章还按编程语言和业务场景分类,推荐了不同场景下的最佳选择,如Java系的ES/Solr适用于全文检索,C++的FAISS适合AI图搜,Rust的MeiliSearch适合轻量应用。为学习和选型提供了

m0_54984588的博客 1139

【菜鸟小屁的成长日记】之ElasticSearchElasticsearch<入门>篇

一、Elastic Search的优缺点 Elasticsearch是一个实时分布式搜索和分析引擎。它拥有如下的优点: 1、ElasticSearch是一个实时分布式搜索和分析引擎擅,擅长处理大规模的数据。在面对海量数据时,性能会有显著提升。而这是因为Elasticsearch是面向文档(document oriented)的,这意味着它可以存储整个对象或文档(document)。然而

neujs的博客 609

ElasticSearch第4篇(亿级中文数据量 ElasticSearch与Sphinx建索引速度、查询速度、并发性能、实测对比)

ElasticSearch第4篇(亿级中文数据量 ElasticSearch与Sphinx建索引速度、查询速度、并发性能、实测对比)

weixin_42100387的博客 1561

solr搜索服务器 性能,搜索引擎选型-ElasticSearch、Solr 和Sphinx比较

前言:众所周知,提供高效、快速的搜索功能能提高网站的运营利润和效率,如果网站搜索相关结果太低,用户体验差,那么用户将可能会使用竞争对手的网站。那么如何提供高效快速的搜索呢?当前大约有20种搜索引擎可以选择,如果您正在寻找可靠而有效的方案,那么我建议您使用Elasticsearch,Solr或Sphinx,这三个都是开源搜索解决方案,得到了他们的贡献者社区的充分支持。它们都具有高性能,可扩展性和灵活...

weixin_31978735的博客 1029

[搜索引擎]Sphinx的介绍和原理探索

What/Sphinx是什么 定义 Sphinx是一个全文检索引擎。 特性 索引和性能优异 易于集成SQL和XML数据源,并可使用SphinxAPI、SphinxQL或者SphinxSE搜索接口 易于通过分布式搜索进行扩展 高速的索引建立(在当代CPU上,峰值性能可达到10 ~ 15MB/秒) 高性能的搜索 (在1.2G文本,100万条文档上进行搜索,支持高达每秒15...

weixin_30254435的博客 845

Lucene的缺点

1.               倒排中以docid排序,这样做的好处是多关键词查询时,merge算法自然,高效.支持phrase query; index merge阶段,处理简单.文件定位快速,倒排压缩高效.但是,它的一个致命的缺陷在于:当某个term的倒排很长时,在处理一次search时,系统需要对倒排所有元素都进行处理.这样的代价是不可接受的.这就注定了lucene不适合海量数据的检索(当

yingsuixindong的专栏 9424

【玩转ElasticSearch】横向对比ElasticSearch与Sphinx

打算写几篇ElasticSearch使用心得。第一篇,先从ElasticSearch与Sphinx的横向对比开始。横向对比是反应优点和暴露问题的好方法。我是Sphinx阵营转向ElasticSearch阵营的,两者都是成熟的开源搜索引擎,各有优劣,这篇文章也可以给纠结使用哪套方案的同学提供一些选择的依据。• 导入MySQL数据生成索引 ElasticSe...

weixin_33979203的博客 524
上一篇: Apache Cassandra简介
下一篇: kafka相关介绍
redfivehit
博客等级 码龄19年 32粉丝 45原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值