开发者学堂课程【ElasticSearch 最新快速入门教程:和 Solr 对比】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/642/detail/10591
和 Solr 对比
内容介绍:
一、概述
二、对比说明
一、概述
关于 ES :Elasticsearch 是一个实时分布式搜索和分析引擎。使用其可以以前所未有的速度处理大数据。它用于全文搜索、结构化搜索、分析以及将这三者混合使用。
维基百科使用 Elasticsearch 提供全文搜索并高亮关键字,以及输入实时搜索(search-asyou-type)和搜索纠错(did-you-mean)等搜索建议功能。
Elasticsearch 是一个基于 Apache Lucene(TM) 的开源搜索引擎。无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。
关于 Solr :
Solr 是 Apache 下的一个顶级开源项目,采用 Java 开发,它是基于 Lucene 的全文搜索服务器。
Solr 提供了比 Lucene 更为丰富的查询语言,同时实现了可配置、可扩展,并对索引搜索性能进行了优化。
Solr 可以独立运行,运行在 Jetty、Tomcat 等这些 Servlet 容器中,Solr 索引的实现方法很简单,
用 POST 方法向 Solr 服务器发送一个描述 Field 及其内容的 XML 文档,Solr 根据 xml 文档添加、删除、更新索引。
二、对比说明
相同点:
都是基于 lucene,都是对 lucene 的封装。
不同点:
1、使用:Solr 安装略微复杂一些; es 基本是开箱即用,非常简单
2、接口:Solr 类似 webservice 的接口; es REST 风格的访问接口
3、分布式存储 solrCloud solr4.x 才支持,es 是为分布式而生的
4、支持的格式:Solr 支持更多格式的数据,比如 JSON、XML、CSV ; es 仅支持 json 文件格式
5、近实时搜索:Solr 查询快,但更新索引时慢(即插入删除慢),用于电商等查询多的应用; ES 建立索引快(即查询慢),即实时性查询快,用于 facebook 新浪等搜索。
Solr 是传统搜索应用的有力解决方案,但 Elasticsearch 更适用于新兴的实时搜索应用。