Solr 和 ElasticSearch 对比

实时搜索 elasticsearch vs solr


oyhk学习笔记

什么是ElasticSearch?

ElasticSearch是基于rest风格,分布式搜索引擎,非常优秀的lucene库.内置的JSON API提供了一个优雅的+ HTTP平台完美的结合(例:弹性可搜索的ruby gem)。它的简单的、可伸缩的和酷...

对比solr

首先,让我们澄清问题.solr效率是非常快的,这个我可以肯定.solr是稳定的,可靠的和出箱,它优于几乎每个搜索解决方案基本搜索(包括Elasticsearch)。



不幸的是,它真的很容易打破Solr一样。只是要执行搜索,同时并发更新索引与新内容。这是一个非常严重的问题,如果你需要更新你的搜索索引定期。


现在把几百万索引插入到solr和elasticsearch中,solr的效率非常低下,感觉真辛苦啊.而elasticsearch非常轻松就完成工作..


显然易见solr的体系结构没有建立在实时搜索应用上,实时web应用程序的要求需要交付更新实时随着新内容附近是由用户生成的。Elasticsearch的分布式特性使得它跟上并发搜索+索引请求轻松而过.


实时结果:


转变我们的搜索基础设施后从Solr Elasticsearch,我们看见一个即时~ 50 x提高搜索性能!

现在更有趣…

典型的实时搜索架构如下:


  • 用户内容建立索引添加到搜索引擎中
  • 执行组查询搜索引擎来确定内容匹配特定的标准
  • 执行特定的逻辑通知注册通道,搜索新的内容

可以支持这个模型Elasticsearch很好,但它也提供了一个功能,将整个工作流在它的头。

新的工作流程如下:


  • 注册特定查询
  • 索引新内容
  • 在索引操作的响应将包含匹配的percolations
完善的实时搜索体系 结构


最后

Solr可能选择的武器当建筑标准的搜索应用程序,但Elasticsearch把它到下一个水平与一个架构创建现代实时搜索应用程序。渗流是一个令人兴奋的和创新的功能,仅凭吹Solr出来的水。Elasticsearch是可伸缩的,快速和梦想结合。再见Solr,很高兴认识你。



我的结论:

1. solr查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用;

2.ES建立索引快(即查询慢),即实时性查询快,用于facebook新浪等搜索。



你可能感兴趣的:(Lucene,架构,搜索引擎)