ES 简介|学习笔记

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习 ES 简介。

开发者学堂课程【ElasticSearch 最新快速入门教程ES 简介】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/642/detail/10590


ES 简介

 

内容介绍:

一、ES 轶事

二、ES 的适用场景概述

三、ES 适用场景详解

四、众多工具适配 ES

 

一、ES 轶事

Shay Banon 认为自己参与 Lucene 完全是一种偶然,当年他还是一个待业工程师,跟随自己的新婚妻子来到伦敦,妻子想在伦敦学习做一名厨师,而自己则想为妻子开发一个方便搜索菜谱的应用,所以才接触到 Lucene。

直接使用 Lucene 构建搜索有很多问题,包含大量重复性的工作,所以 Shay 便在 Lucene 的基础上不断地进行抽象,让 java 程序嵌入搜索变得更容易,经过一段时间的打磨便诞生了他的第一个开源作品"Compass",中文即“指南针的意思。

之后Shay 找到了一份面对高性能分布式开发环境的新工作,在工作中他渐渐发现越来越需要一个易用的、高性能、实时、分布式搜索服务,于是他决定重写 Compass,将它从一个库打造成了一个独立的 server,并将其改名为 Elasticsearch。

 

二、ES 的适用场景概述

1.站内搜索:主要和 Solr 竞争,属于后起之秀。

2.NoSQL Json文档数据库:主要抢占 Mongo 的市场,它在读写性能上优于 Mongo,同时也支持地理位置查询,还方便地理位置和文本混合查询。

3.监控:统计、日志类时间序的数据存储和分析、可视化,这方面是引领者。

4.国外: Wikipedia (维基百科)使用 ES 提供全文搜索并高亮关键字、StackOverflow ( IT问答网站)结合全文搜索与地理位置查询、Github 使用 Elasticsearch 检索1300亿行的代码。

5.国内:百度(在云分析、网盟、预测、文库、钱包、风控等业务上都应用了 ES,单集群每天导入30TB+数据,总共每天60TB+).新浪、阿里巴

巴、腾讯等公司均有对 ES 的使用。

6.使用比较广泛的平台 ELK(ElasticSearch, Logstash, Kibana)。

 

三、ES 适用场景详解

了解了 ES 的使用场景,ES 的研究、使用、推广才便有价值和意义。

场景一:使用 Elasticsearch 作为主要的后端

传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力。

这是因为早期的搜索引擎不能提供耐用的存储或其他经常需要的功能,如统计。

image.png

场景二:在现有系统中增加 elasticsearch

由于 ES 不能提供存储的所有功能,一些场景下需要在现有系统数据存储的基础上新增 ES 支持。

image.png

场景三:使用 elasticsearch 和现有的工具

在一些使用情况下,您不必写一行代码就能通过 elasticssearch 完成一项工作。很多工具都可以与 Elasticsearch 一起工作,所以你不必到你从头开始编写。

例如,假设要部署一个大规模的日志框架存储,搜索,并分析了大量的事件。

如图下图,处理日志和输出到 Elasticsearch,您可以使用日志记录工具,如 rsyslog ( www.rsyslog.com ),Logstas ( www.elastic co/products/logstash),

或Apache Flume ( htp:/fume.apache.org )。

搜索和可视化界面分析这些日志,你可以使用 Kibana ( www.elastic .co/产品/ kibana)。

image.png

四、众多工具适配 ES

为什么那么多工具适配 Elasticsearch ?主要原因如下:

1 ) Elasticsearch 是开源的。

2 ) Elasticsearch 提供了 JAVA API 接口。

3) Elasticsearch 提供了 RESTful API 接口(不管程序用什么语言开发,任何程序都可以访问)

4)更重要的是,REST 请求和应答是典型的 JSON ( JavaScript 对象符号)格式。通常情况下,一个 REST 请求包含一个 JSON 文件,其回复也都是一个 JSON 文件。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
存储 监控 搜索推荐
【ES系列】(一)简介与安装
【ES系列】(一)简介与安装
|
Java
ES6 学习笔记一
ES6 学习笔记一
56 0
|
4月前
|
JavaScript 前端开发
ES6-01-简介
ES6-01-简介
22 1
|
5月前
|
Java
es 学习笔记
es 学习笔记
33 1
|
5月前
|
JavaScript 前端开发 Java
ES6 简介
ES6 简介
|
5月前
|
数据可视化 开发工具 git
ES入门以及安装
ES入门以及安装
70 0
|
JavaScript
ES6 学习笔记二
ES6 学习笔记二
37 0
|
存储 JavaScript 前端开发
ES6快速入门
ES6快速入门
77 0
|
JavaScript 前端开发 编译器
ES6 从入门到精通 # 01:ES6 介绍
ES6 从入门到精通 # 01:ES6 介绍
117 0
ES6 从入门到精通 # 01:ES6 介绍
|
前端开发 JavaScript 中间件
ES6学习笔记(二)
ES6学习笔记
157 0
ES6学习笔记(二)