实时搜索 elasticsearch vs solr

  • Post author:
  • Post category:其他



什么是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,很高兴认识你。