Elasticsearch-01--简单介绍

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_32952713/article/details/82847773

一,什么是Elasticsearch

         Elasticsearch是一个基于Lucene构建的开源、实时、分布式、RESTful接口的全文搜索引擎和分析引擎。Elasticsearch还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,Elasticsearch能够横向扩展至数以百计的服务器存储以及处理PB级的数据。可以在极短的时间内存储、搜索和分析大量的数据。它是一个提供了分布式多用户能力的全文搜索引擎,通常作为具有复杂搜索场景情况下的核心发动机,可以用于全文检索、结构化检索和分析,并能将这三者结合起来,是现在使用最广的开源搜索引擎。

二,Elasticsearch使用案例

  1. 他提供了强大的搜索功能
  2. 可以搜索日志或者交易数据,用来分析商业趋势,搜索日志,分析系瓶颈或者运行发展等
  3. 可以提供预警功能(持续的查询分析某个数据,如果超过一定的值,就进行警告)
  4. 可以扩展到上百台服务器,处理PB级别的结构化或非结构化数据
  5. 分布式实时文件存储,并将每一个字段都编入索引,使其可以被搜索。
  6. 接近实时分析的分布式搜索引擎。

三,Elasticsearch 优点

  • 横向可扩展性只需要增加一台服务器,改一下配置,启动ES进程就并入集群
  • 分片机制提供更好的分布性:一个索引分成多个分片,(sharding) 分而治之的方式可提升处理效率
  • 高可用:提供复制(replica)机制,一个分片可以设置多个复制,使的某台服务器在宕(dang)机的情况下,集群仍旧可以照常运行,并把宕机丢失的数据信息复制恢复到其他可用节点上。
  • 使用简单 :只要一条命令就可以下载文件,

四,Elasticsearch 与 Lucene 比较

       Lucene架构虽然是目前最先进最基础的全文搜索引擎技术,但是缺乏分布式相关的管理,Lucene只是一个框架,要充分利用它的功能,需要使用JAVA,并且在程序中集成Lucene。需要很多的学习了解,才能明白它是如何运行的,Lucene确实非常复杂。并且逐渐不适应目前越来越大的数据量,和越来越复杂的应用需求。

       Elasticsearch使用Lucene作为内部引擎,但是在使用它做全文搜索时,只需要使用统一开发好的API即可,而不需要了解其背后复杂的Lucene的运行原理。

五,Elasticsearch 与 sole 比较

  1. 分布式管理:Elasticsearch自身带有分布式协调管理功能,而Solr需要利用第三方组件Zookeeper进行分布式管理,维护成本高。
  2. 高性能:Elasticsearch 实现分布式文件存储、分布式信息检索,且并发处理能力强。在高并发处理大数据量的时候,Sorl处理能力差,不稳定,经常会出现OOM,而ES相对稳定,效率高于Sorl。
  3. 更新及时性:公安业务需要掌握最新数据,Elasticsearch具有瞬实时性,可以实现近实时的索引建立与信息检索,实时搜索效率高。而Solr在更新数据、建立索引时,会产生大量的IO阻塞,搜索效率下降,实时搜索效率不高。

                                                          图1  增量创建索引时,ES与Solr查询耗时对比图

                                                         图2 实际环境中ES与Solr 平均查询速度对比图

  1. 同类应用管理便利性:ES可以支撑多种应用,当多个应用并存时需要进行多租户管理。Elasticsearch处理多租户multitenancy(多用户的环境下共用集群)不需要特殊配置,而Solr需要更多的高级设置。
  2. 安全性:Elasticsearch各节点组成对等的网络结构,某些节点出现故障时会自动分配其他节点代替其进行工作,当服务器宕机时,具有很好的容错机制,不影响系统使用。
  3. 扩展便利性:Elasticsearch支持横向扩容至数以百计的服务器存储,只需简单配置,增加节点,删除节点,ES集群会自动感知到并平衡数据。而Solr的扩容相对复杂,且随着数据量的增加,Solr的检索效率也会越来越低。
展开阅读全文

没有更多推荐了,返回首页