一、什么是分布式搜索引擎
(1)搜索引擎:
对数据源中的信息数据进行处理,处理完后放到搜索引擎的节点上,为用户提供一定的检索服务;
目的是为了优化用户的搜索体验,提供更加有效的搜索服务,甚至对用户的搜索行为加以数据分析;
(2)分布式存储与搜索:
由多个节点共同组成的搜索服务,可以提高整体的可扩展性,横向扩展为集群,提高存储容量;
二、Lucene
(1)一个类库,基于Java的全文搜索引擎,本质上就是一个jar包;
(2)当要扩展成集群时相当复杂;
三、Solr
(1)基于Lucene构建的开源搜索引擎,本质上是对Luncene进行了一层封装;
(2)可以部署在Tomcat或者Jetty中;
(3)可以扩展为集群;
(4)可扩展性和容错性也非常高;
四、Elasticsearch
(1)也是基于Lucene的;
(2)提供了很多Restful风格的接口进行查询操作;
(3)可以为用户提供近实时检索服务,速度非常快;
一些国内的知名互联网企业也在使用ES,还可以进行大数据的分析;
相比于其他两个,ES的市场占有率还是非常高的。