Elasticsearch和solr的区别

1,109

1.背景

它们都是基于Lucene搜索服务器基础之上开发,一款优秀的、高性能的企业级搜索服务器

  • 它们都是基于分词技术构建的倒排索引的方式进行查询了

  • 它们都是基于Java语言开发

    • slor诞生于: 2004年诞生;

    • Es诞生于: 2010年诞生;

2.与别

  • 当实时建立索引时,solr会产生io阻塞,es不会,es查询性能要高于solr

  • 在不断动态添加数据的时候,solr的检索效率会变得低下,而es则没有什么变化

  • solr是利用zookeeper进行分布式管理,es自带分布式管理系统;solr一般都要部署到web服务器上,比如tomcat。启动tomcat的时候需要配置tomcat与solr的关联(solr的本质是一个动态web项目)

  • solr支持更多的格式数据(xml,json,csv等),es只支持json文件格式

  • solr是传统搜索应用的有力解决方案,es更适用于新兴的实时搜索应用

    • 单纯对已有的数据进行检索.solr效率更好,高于es
  • solr官网提供了很多功能,而es本身更注重于核心功能,高级功能由第三方插件提供

3.集群搭建

3.1 solr集群

image.png

image.png

3.2 es 集群

image.png