Solr 与 ElasticSearch [英] Solr vs. ElasticSearch

查看:30
本文介绍了Solr 与 ElasticSearch的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这些技术之间的核心架构差异是什么?

What are the core architectural differences between these technologies?

此外,哪些用例通常更适合每个用例?

Also, what use cases are generally more appropriate for each?

推荐答案

更新

既然问题范围已经更正,我也可以在这方面补充一些:

Update

Now that the question scope has been corrected, I might add something in this regard as well:

Apache SolrElasticSearch 可用,因此我将参考我自己认为最有用的那些,即涵盖最重要的方面:

There are many comparisons between Apache Solr and ElasticSearch available, so I'll reference those I found most useful myself, i.e. covering the most important aspects:

  • Bob Yoplait already linked kimchy's answer to ElasticSearch, Sphinx, Lucene, Solr, Xapian. Which fits for which usage?, which summarizes the reasons why he went ahead and created ElasticSearch, which in his opinion provides a much superior distributed model and ease of use in comparison to Solr.

Ryan Sonnek 的 实时搜索:Solr 与 Elasticsearch提供了有见地的分析/比较,并解释了为什么他从 Solr 切换到 ElasticSeach,尽管他已经是一个快乐的 Solr 用户 - 他总结如下:

Ryan Sonnek's Realtime Search: Solr vs Elasticsearch provides an insightful analysis/comparison and explains why he switched from Solr to ElasticSeach, despite being a happy Solr user already - he summarizes this as follows:

Solr 可能是构建标准搜索的首选武器应用,但 Elasticsearch 将其提升到一个新的水平用于创建现代实时搜索应用程序的架构.Percolation 是一项令人兴奋的创新功能,可单独使用将 Solr 吹出水面.Elasticsearch 可扩展、快速和梦想融入.Adios Solr,很高兴认识你.[强调我的]

Solr may be the weapon of choice when building standard search applications, but Elasticsearch takes it to the next level with an architecture for creating modern realtime search applications. Percolation is an exciting and innovative feature that singlehandedly blows Solr right out of the water. Elasticsearch is scalable, speedy and a dream to integrate with. Adios Solr, it was nice knowing you. [emphasis mine]

  • 维基百科关于 ElasticSearch 的文章引用了著名的德国 iX 的比较杂志,列出优点和缺点,几乎总结了上面已经说过的内容:

  • The Wikipedia article on ElasticSearch quotes a comparison from the reputed German iX magazine, listing advantages and disadvantages, which pretty much summarize what has been said above already:

    优势:

    • ElasticSearch 是分布式的.不需要单独的项目.副本也是近乎实时的,这就是所谓的推送复制".
    • ElasticSearch 全面支持 Apache 的近实时搜索Lucene.
    • 处理多租户不是一种特殊的配置,其中使用 Solr 需要进行更高级的设置.
    • ElasticSearch 介绍网关的概念,使完整备份更容易.

    缺点:

    • Only one main developer [not applicable anymore according to the current elasticsearch GitHub organization, besides having a pretty active committer base in the first place]
    • No autowarming feature [not applicable anymore according to the new Index Warmup API]

  • 它们是针对完全不同用例的完全不同的技术,因此根本无法进行任何有意义的比较:

    They are completely different technologies addressing completely different use cases, thus cannot be compared at all in any meaningful way:

    • Apache Solr - Apache Solr 以易于使用的方式提供 Lucene 的功能,快速搜索服务器,具有分面、可扩展性等附加功能

    • Apache Solr - Apache Solr offers Lucene's capabilities in an easy to use, fast search server with additional features like faceting, scalability and much more

    Amazon ElastiCache - Amazon ElastiCache 是一种网络服务,可让您轻松实现在云中部署、操作和扩展内存缓存.

    • 请注意,Amazon ElastiCache 与 Memcached 协议兼容,Memcached 是一种广泛采用的内存对象缓存系统,因此您今天在现有 Memcached 环境中使用的代码、应用程序和流行工具将与该服务无缝协作em>(有关详细信息,请参阅 Memcached).
    • Please note that Amazon ElastiCache is protocol-compliant with Memcached, a widely adopted memory object caching system, so code, applications, and popular tools that you use today with existing Memcached environments will work seamlessly with the service (see Memcached for details).

    [强调我的]

    也许这以某种方式与以下两种相关技术混淆了:

    Maybe this has been confused with the following two related technologies one way or another:

    • ElasticSearch - 它是一个开源 (Apache 2)、分布式、RESTful, 建立在 Apache Lucene 之上的搜索引擎.

    Amazon CloudSearch - Amazon CloudSearch 是一项完全托管的搜索服务云让客户能够轻松地将快速且高度可扩展的搜索功能集成到他们的应用程序中.

    SolrElasticSearch 产品乍一看非常相似,并且都使用相同的后端搜索引擎,即 Apache Lucene.

    The Solr and ElasticSearch offerings sound strikingly similar at first sight, and both use the same backend search engine, namely Apache Lucene.

    虽然 Solr 较旧、用途广泛且成熟并因此被广泛使用,但 ElasticSearch 是专门为解决 Solr 可扩展性要求的缺点而开发的在现代云环境中,Solr 很难(呃)解决这些问题.

    While Solr is older, quite versatile and mature and widely used accordingly, ElasticSearch has been developed specifically to address Solr shortcomings with scalability requirements in modern cloud environments, which are hard(er) to address with Solr.

    因此,将 ElasticSearch 与最近推出的 Amazon CloudSearch 进行比较可能最有用(请参阅介绍性文章 一小时内开始搜索,每月不到 100 美元),因为两者都声称原则上涵盖相同的用例.

    As such it would probably be most useful to compare ElasticSearch with the recently introduced Amazon CloudSearch (see the introductory post Start Searching in One Hour for Less Than $100 / Month), because both claim to cover the same use cases in principle.

    这篇关于Solr 与 ElasticSearch的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

    查看全文
    登录 关闭
    扫码关注1秒登录
    发送“验证码”获取 | 15天全站免登陆