博客
关于我
ElasticSearch概述
阅读量:610 次
发布时间:2019-03-13

本文共 1440 字,大约阅读时间需要 4 分钟。

ElasticSearch 是一个基于 Lucene 的开源分布式全文检索引擎,通过简洁的 RESTful API 隐藏了 Lucene 的复杂性,使得全文搜索变得简单易用。作为强大的全文检索工具,Elasticsearch 能够在大数据时代实时处理 PB 级别的数据,并通过分布式扩展支持百台服务器以上的部署。近年来,在 DB Engines 统计中,Elasticsearch 已经超过 Solr 等成为全文搜索领域的领先引擎。

Lucene 是 ApacheSoftware基金会 Jakarta 项目组的一个子项目,最初由 Google engineer Doug Cutting 在 1998年发起。这款工具包最初是用于 Google 之前,并随后成为 Apache 项目的一部分。Lucene 关注的是全文检索架构,提供索引和搜索功能的工具包。值得注意的是,Lucene 本身并不是一个完整的搜索引擎,而是一个便于开发者在应用中集成的检索引擎框架。其核心功能包括索引结构管理、文本分析、搜索规则定义等,适用于中小型应用中。

Elasticsearch 是基于 Lucene 的进一步封装和增强,目标是通过简化操作隐藏 Lucene 的复杂性。与传统的全文检索框架不同,Elasticsearch 提供了一套完整的 search API,从而使得全文搜索变得简单明了。早期,Elasticsearch 在 Google AdMob 项目中受到了应用,并逐渐发展成为一个强大的搜索引擎解决方案。这让它在维基百科、The Guardian、Stack Overflow 等场景中得到了广泛应用,满足了全文检索、数据分析等多种需求。

对于 Elasticsearch 和 Solr 之间的比较,可以从以下几个方面进行分析:

安装复杂程度: Elasticsearch 的安装过程相对简单,用户只需解压即可开始使用。相比之下,Solr 的安装过程稍微复杂一些,需要配置服务器环境和依赖项。这种差别在部署过程中可能导致不同的运维负担。

分布式支持: Elasticsearch 自带分布式协调管理功能,能够轻松实现横向扩展,适合处理大规模的数据和高并发请求。而 Solr则依托于 Zookpear 统一管理和协调,具备优秀的分布式处理能力,但其硬件资源利用率通常稍逊于 Elasticsearch。

数据格式支持: Solr 支持多种数据格式,包括 JSON、XML、CSV 等,适合处理多样化的数据源和格式。Elasticsearch 则以 JSON 格式为核心,虽然它也支持其他格式,但默认的处理逻辑稍显限制,可能对自定义数据结构要求较高。

功能对比: 在功能实现方面,Solr 更为丰富,提供了更多内置功能和配置选项。而 Elasticsearch 则以核心搜索功能为主,高级功能多依赖于第三方插件,例如图形化界面、数据可视化等需要借助如 Kibana 这样的工具支持。在查询性能方面,Solr 的插件查询和处理机制更为成熟,但其实时性通常稍逊于 Elasticsearch。

综合来看,Elasticsearch建议用于需要实时全文搜索、高扩展性和灵活性较强的场景,例如用户行为分析、日志数据处理、商品搜索系统等。Solr 则更适合传统的搜索应用,依赖于较为成熟和稳定的索引管理流程,适合中小型搜索引擎系统的需求。两者各有优势,选择时应根据具体应用场景和性能需求进行权衡。

转载地址:http://wzkaz.baihongyu.com/

你可能感兴趣的文章
nginx最最最详细教程来了
查看>>
Nginx服务器---正向代理
查看>>
Nginx服务器上安装SSL证书
查看>>
Nginx服务器的安装
查看>>
Nginx模块 ngx_http_limit_conn_module 限制连接数
查看>>
nginx添加模块与https支持
查看>>
Nginx用户认证
查看>>
Nginx的location匹配规则的关键问题详解
查看>>
Nginx的Rewrite正则表达式,匹配非某单词
查看>>
Nginx的使用总结(一)
查看>>
Nginx的使用总结(三)
查看>>
Nginx的使用总结(二)
查看>>
Nginx的可视化神器nginx-gui的下载配置和使用
查看>>
Nginx的是什么?干什么用的?
查看>>
Nginx访问控制_登陆权限的控制(http_auth_basic_module)
查看>>
nginx负载均衡和反相代理的配置
查看>>
nginx负载均衡器处理session共享的几种方法(转)
查看>>
nginx负载均衡的5种策略(转载)
查看>>
nginx负载均衡的五种算法
查看>>
nginx转发端口时与导致websocket不生效
查看>>