Solr vs Elasticsearch vs Lucene

最近看到有一个客户他们用的是Elasticsearch, 说实话,本人对Elasticsearch以前了解的比较少,准确地说,对“搜索引擎”这块了解的比较少。今天就各类搜索,收集了一些“搜索引擎”相关的基础知识,以备不时之须。web

首先了解一下什么是“搜索引擎”,下面这段话来自于百度百科,apache

搜索引擎(Search Engine)是指根据必定的策略、运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信息展现给用户的系统。搜索引擎包括全文索引、目录索引、元搜索引擎、垂直搜索引擎、集合式搜索引擎、门户搜索引擎与免费连接列表等。json

接着咱们熟悉一下大数据领域涉及到的搜索引擎的三个名词,并介绍他们的概念与区别:服务器

  • Lucene

Lucene是apache下的一个子项目,是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎。官网地址:https://lucene.apache.org/架构

  • Solr

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,而且提供了一个完善的功能管理界面,是一款很是优秀的全文搜索引擎。官网地址:http://lucene.apache.org/solr/elasticsearch

  • Elasticsearch

Elasticsearch跟Solr同样,也是一个基于Lucene的搜索服务器,它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。官网地址:https://www.elastic.co/products/elasticsearch分布式

 

--- 下面一段是转自别人文章中关于Elasticsearch与Solor的比较总结:
1 都是基于Lucene,且安装都很简单
2 Solr利用Zookeeper进行分布式管理,而Elasticsearch自身带有分布式协调管理功能
3 Solr支持更多格式的数据,而Elasticsearch仅支持json格式
4 Solr官方提供功能较多,而Elasticsearch更注重核心功能,高级功能多由第三方插件提供
5 Solr在传统的搜索应用中表现好于Elasticsearch,但Elasticsearch在实时搜索应用中效率更高工具

相关文章
相关标签/搜索