为什么要使用ElasticSearch(简称ES)?

  • 虽然全文搜索领域Lucene可以被认为是迄今为止最先进、性能最好的、功能最全的搜索引擎库。

  • 但是,Lucene只是一个库。想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene的配置及使用非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的。

  • 实际项目中,我们建立一个网站或应用程序,并要添加搜索功能,令我们受打击的是:搜索工作是很难的。我们希望我们的搜索解决方案要快,我们希望有一个零配置和一个完全免费的搜索模式,我们希望能够简单地使用JSON/XML通过HTTP的索引数据,我们希望我们的搜索服务器始终可用,我们希望能够从一台开始并在需要扩容时方便地扩展到数百,我们要实时搜索,我们要简单的多租户,我们希望建立一个云的解决方案。

  • ES即为了解决原生Lucene使用的不足,优化Lucene的调用方式,并实现了高可用的分布式集群的搜索方案,其第一个版本于2010年2月出现在GitHub上并迅速成为最受欢迎的项目之一。
    首先,ES的索引库管理支持依然是基于Apache Lucene的开源搜索引擎。
    ES也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。
    不过,ES的核心不在于Lucene,其特点更多的体现为:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎可以扩展到上百台服务器,处理PB(内存单位)级结构化或非结构化数据高度集成化的服务,你的应用可以通过简单的 Restful API、各种语言的客户端甚至命令行与之交互。(以Lucene的不足衬托ES的优点)。
    上手Elasticsearch非常容易。它提供了许多合理的缺省值,并对初学者隐藏了复杂的搜索引擎理论。它拥有开瓶即饮的效果(安装即可使用),只需很少的学习既可在生产环境中使用。(安装及使用点击我

  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Elasticsearch简称ES)是一个开源的分布式搜索和分析引擎,它基于Apache Lucene库构建而成。它被设计用于快速、可扩展和分布式的全文检索,以及实时数据分析。ES具有强大的搜索能力和高效的分布式架构,能够处理大规模数据的存储、搜索和分析。 ES的核心概念是索引(Index)、文档(Document)和类型(Type)。索引是包含一系列文档的逻辑容器,每个文档都是一个JSON格式的数据对象,可以被索引和搜索。类型是文档的逻辑分类,用于区分不同类型的文档。ES提供了丰富的搜索功能,包括全文搜索、过滤器、聚合等,通过使用查询语言来实现灵活的搜索需求。 ES的分布式特性使得它非常适合处理大规模数据。它使用分片(Shard)和复制(Replica)机制来实现数据的分布和冗余备份,提高了系统的可用性和扩展性。每个索引可以被划分为多个分片,每个分片可以被部署在不同的节点上,从而实现数据的并行处理和负载均衡。 除了全文检索外,ES还提供了丰富的数据分析功能。它支持实时的数据聚合和可视化,可以用于实时监控、日志分析、业务指标分析等场景。ES还可以与其他工具和框架集成,如Kibana(可视化工具)、Logstash(日志收集工具)等,形成完整的日志分析和监控系统。 总而言之,Elasticsearch是一个强大的全文检索和分析引擎,具有高效的搜索能力、可扩展的分布式架构和丰富的数据分析功能。它在各种场景下都能发挥重要作用,包括企业搜索、电商商品搜索、日志分析等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值