分布式搜索引擎ElasticSearch

什么是ElasticSearch?
Elasticsearch是一个 实时的分布式搜索和分析引擎。ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
为什么学习它?
1、给软件打造良好的搜索体验。
2、其具有强大的是数据分析能力。可能分析的等待时间比Hadoop还要短。
3、方便使用,扩展力强。是当前流行的企业级搜索引擎。

ElasticSearch背后的小故事:
许多年前,一个刚结婚的名叫 Shay Banon 的失业开发者,跟着他的妻子去了伦敦,他的妻子在那里学习厨师。 在寻找一个赚钱的工作的时候,为了给他的妻子做一个食谱搜索引擎,他开始使用 Lucene 的一个早期版本。 直接使用 Lucene 是很难的,因此 Shay 开始做一个抽象层,Java 开发者使用它可以很简单的给他们的程序添加搜索功能。 他发布了他的第一个开源项目 Compass。 后来 Shay 获得了一份工作,主要是高性能,分布式环境下的内存数据网格。这个对于高性能,实时,分布式搜索引擎的需求尤为突出, 他决定重写 Compass,把它变为一个独立的服务并取名 Elasticsearch。 第一个公开版本在2010年2月发布,从此以后,Elasticsearch 已经成为了 Github 上最活跃的项目之一,他拥有超过300名 contributors(目前736名 contributors )。 一家公司已经开始围绕 Elasticsearch 提供商业服务,并开发新的特性,但是,Elasticsearch 将永远开源并对所有人可用。 据说,Shay 的妻子还在等着她的食谱搜索引擎

ElasticSearch的主要功能及应用场景

主要功能:

  • 海量数据的分布式存储以及集群管理,达到了服务与数据的高可用以及水平扩展;
  • 近实时搜索,性能卓越。对结构化、全文、地理位置等类型数据的处理;

海量数据的近实时分析(聚合功能) 应用场景

  • 网站搜索、垂直搜索、代码搜索;
  • 日志管理与分析、安全指标监控、应用性能监控、Web抓取舆情分析;

ES和数据库的对比

分布式搜索引擎ElasticSearch

分布式搜索引擎ElasticSearch

参考文章:https://pdai.tech/md/db/nosql-es/elasticsearch-x-introduce-1.html#elasticsearch的由来

Original: https://www.cnblogs.com/Mayday-zhou/p/16306432.html
Author: Mayday-zhou
Title: 分布式搜索引擎ElasticSearch

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/608571/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 每天代码量多少正常?

    关于程序员每天代码量的讨论,众说纷纭。我个人觉得需要根据具体情况而定。 如果你刚实习,或刚步入工作不久,上司一般都会交给你一些简单的功能实现,这时候一般都含有大量简单而重复或者说类…

    Java 2023年6月13日
    080
  • Sorry, This Application Cannot Be Run Under A Virtual Machine

    打开客户端,出现如下错误 解决:打开启用或关闭Windows功能 关闭这个 posted @2022-07-28 18:48 大大怪下士 阅读(1703 ) 评论() 编辑 Ori…

    Java 2023年6月9日
    076
  • Spring Data JPA 在 @Query 中使用投影的方法

    背景铺垫完毕,接下来开始正文。 最近在写需求的时候用到了投影来减少数据库查询的字段,结果发现官方文档中挖了个坑= =。官方文档中以及另一篇示例文章中,全程使用了 &#x65…

    Java 2023年6月5日
    051
  • springboot如何使用自定义配置文件

    从前边《springboot竟然有5种默认的加载路径,你未必都知道》我们知道,springboot会默认加载application.properties/application.y…

    Java 2023年6月9日
    081
  • Spring Cloud Gateway 网关处理器

    API网关作为后端服务的统一入口,可提供请求路由、协议转换、安全认证、服务鉴权、流量控制、日志监控等服务。那么当请求到达网关时,网关都做了哪些处理以及怎么处理的呢? 一、Sprin…

    Java 2023年5月30日
    062
  • JAVA字符串格式化-String.format()的使用

    常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象。熟悉C语言的同学应该记得C语言的sprintf()方法,两者有类似之处。form…

    Java 2023年5月29日
    073
  • RabbitMQ

    RabbitMQ 六大模式 Hello Word 消息提供者 消息消费者 Work Queues 抽取工具类 Consumer 消息发送者 消息应答 自动应答 手动应答 消息重新入…

    Java 2023年6月13日
    073
  • 运用D3js开发关系图谱

    背景 公司要开发个关系图谱,一开始选型有两个一个echarts和d3js,但由于echarts拓展性并没有那么好,所以选择了d3js,但d3js说实话,对于我这种前端菜鸟来说,学习…

    Java 2023年6月7日
    059
  • 大文件切片上传到服务器

    SparkMD5工具 查看代码 /* SparkMD5  - https://github.com/satazor/js-spark-md5 */ /* Spar…

    Java 2023年6月8日
    062
  • Java集合框架之List

    1.List集合概要 2.Iterable接口 1.概要 2.重要方法 forEach方法:对Collection集合中的每个对象进行消费 List<student> …

    Java 2023年6月15日
    063
  • OptaPlanner的新约束表达方式 Constraint Streams

    有好些时间没有写过关于OptaPlanner的东西了,其实近半年来,OptaPlanner还是推出了不少有用、好用的新特性。包括本文讲到的以Stream接口实现评分编程。关于Opt…

    Java 2023年6月16日
    087
  • Spring Boot + Spring Cloud 实现权限管理系统 后端篇(十七):登录验证码实现(Captcha)

    登录验证码 登录验证是一般系统都会有的功能,验证的方式也多种多样,比如输入式验证码,拖动式验证条,拖动式验证拼图等等。 我们这里先实现常规的输入验证码的方式,右边显示验证码图片,点…

    Java 2023年5月30日
    082
  • Java8⾼效遍历map_Java8中Map的遍历⽅式总结

    java;gutter:true; public class LambdaMap { private Map map = new HashMap<>(); @Befor…

    Java 2023年5月29日
    058
  • 变量、常量、作用域(Java)

    基本介绍 1.变量 定义:可以变化的量 2.变量声明 Java是一种强制类型语言,每一个变量必须声明类型 3.变量名,变量类型和作用域 Java变量是程序中最基本的存储单元,其要素…

    Java 2023年6月9日
    078
  • IDEA 使用插件连接远程 Docker (Dockerfile)

    IDEA 使用插件连接远程 Docker 测试地址 https://github.com/Rain-with-me/JavaStudyCode/tree/main/2-spring…

    Java 2023年6月16日
    061
  • Servlet Interface

    Servlet Interface Servlet接口是Java Servlet API 核心抽象接口。大多数Servlet实现直接实现Servlet接口,或者是继承已经实现Ser…

    Java 2023年6月15日
    072
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球