elasticsearch vs solr

网友投稿 734 2022-05-30

项目里一直使用的lucene,中间大概升级了2-3次lucene版本,然后项目的负荷也不重,没有太多的分布式需求, 所以也就没有切换到Solr;分词器早期的时候是用的庖丁,后来由于庖丁没有停用词和同义词并且也长期无人维护就切换到了word中文分词;

经常看到一些elasticsearch相关的推送,今天就摘录一下一些粗略的对比;

solr的主要特点:

全文索引

高亮

分面搜索

实时索引

动态聚类

数据库集成

NoSQL特性和丰富的文档处理(例如Word和PDF文件)

Elasticsearch主要特性:

分布式搜索

多租户

查询统计分析

分组和聚合

solr一样,Elasticsearch构建在Apache Lucene库之上,同是开源搜索引擎

Solr专注于文本搜索,而Elasticsearch则常用于查询、过滤和分组分析统计

Solr 基于Apache ZooKeeper也实现了类似ES的分布式部署模式,相对比,Elasticsearch有一个内置的类似ZooKeeper的名为Zen的组件,通过内部的协调机制来维护集群状态。

Solr接受来自不同来源的数据,包括XML文件,逗号分隔符(CSV)文件和从数据库中的表提取的数据以及常见的文件格式(如Microsoft Word和PDF)。

Elasticsearch还支持其他来源的数据,例如ActiveMQ,AWS SQS,DynamoDB(Amazon NoSQL),FileSystem,Git,JDBC,JMS,Kafka,LDAP,MongoDB,neo4j,RabbitMQ,Redis,Solr和Twitter。还有各种插件可用。

Solr的优缺点

优点

Solr有一个更大、更成熟的用户、开发和贡献者社区。

支持添加多种格式的索引,如:HTML、PDF、微软 Office 系列软件格式以及 JSON、XML、CSV 等纯文本格式。

Solr比较成熟、稳定。

不考虑建索引的同时进行搜索,速度更快。

缺点

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

Elasticsearch的优缺点**:

优点

Elasticsearch是分布式的。不需要其他组件,分发是实时的,被叫做”Push replication”。

Elasticsearch 完全支持 Apache Lucene 的接近实时的搜索。

处理多租户(multitenancy)不需要特殊配置,而Solr则需要更多的高级设置。

Elasticsearch 采用 Gateway 的概念,使得完备份更加简单。

各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作。

缺点

只有一名开发者(当前Elasticsearch GitHub组织已经不只如此,已经有了相当活跃的维护者)

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

参考:

solr-vs-elasticsearch-top-open-source-search

elasticsearch vs solr

Solr vs. Elasticsearch谁是开源搜索引擎王者

http://i.zhcy.tk/blog/elasticsearchyu-solr/

https://opensourceconnections.com/blog/2019/02/28/stop-worrying-solr-elasticsearch/

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:【2022 年】Python3 爬虫教程 - aiohttp 的基本使用
下一篇:你应该使用Python3里的这些新特性
相关文章