ES 简介 | 学习笔记

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

开发者学堂课程【ElasticSearch 入门精讲ES 简介学习笔记,与课程紧密连接,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/631/detail/9937


ES简介


内容简介

一、ES 的适用场景概述

二、ES 适用场景详解

三、众多工具适配 ES


一、ES 的适用场景概述

1.站内搜索∶

主要和 Sol 竞争,属于后起之秀。

2.NoSQLJson 文档数据库∶

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

3.监控∶

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

4.国外∶

Wikipedia(维基百科)使用ES提供全文搜索并高亮关键字、

StackOverflow(IT 问答网站)结合全文搜索与地理位置查询、Github

使用 Elasticsearch 检索1300亿 Z 行的代码。

5.国内∶

百度(在云分析、网盟、预测、文库、钱包、风控等业务上都应用了 ES,单集群每天导入30TB+数据,总共每天60TB+)、新浪、阿里巴巴、腾讯等公司均有对 ES 的使用。

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


二、ES 适用场景详解

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

场景一∶使用 Elasticsearch 作为主要的后端传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力。这是因为早期的搜索引擎不能提供耐用的存储或其他经常需要的功能,如统计。

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

由于 ES 不能提供存储的所有功能,一些场景下需要在现有系统数据存储的基础上新增 ES 支持。假设你的在线零售商店的产品信息存储在 SQL 数据库中。为了快速且相关的搜索,你安装 Elasticsearch。为了索引数据,您需要部署一个同步机制,该同步机制可以是 Elasticsearch 插件或你建立一个自定义的服务。

此同步机制可以将对应于每个产品的所有数据和索引都存储在 Elasticsearch,每个产品作为一个 document 存储(这里的 document相当于关系型数据库中的一行/row 数据)。

当在该网页上的搜索条件中输入"用户的类型"。店面网络应用程序通过 Elasticsearch 查询该信息。

Elasticsearch 返回符合标准佳的产品 documents。并根据你喜欢的方式来分类文档。排序可以根据每个产品的被搜索次数所得到的相关分数,或任何存储在产品 document 信息,例如∶最新最近加入的产品、平均得分,或者是那些插入或更新信息。所以你可以只使用 Elasticsearch 处理搜索。这取决于同步机制来保持 Elasticsearch 获取最新变化。

场景三∶使用 elasticsearch 和现有的工具在一些使用情况下,您不必写一行代码就能通过 elasticssearch 完成一项工作。很多工具都可以与 Elasticsearch 一起工作,所以你不必到你从头开始编写。例如,假设要部署一个大规模的日志框架存储,搜索,并分析了大量的事件。处理日志和输出到 Elasticsearch,您可以使用日志记录工具,如rsyslog(www.rsyslog.com)Logstash(www.elastic.co/products/logstash),或ApacheFlume

(http∶/flume.apache.org)。搜索和可视化界面分析这些日志,你可以使用

Kibana(www.elastic.co/产品/kibana)。

举例1:ES 不支持事务、复杂的关系(至少1.X 版本不支持,2.X 有改善,但支持的仍然不好),如果你的系统中需要上述特征的支持,需要考虑在原有架构.原有存储的基础上的新增 ES 的支持。

举例2:如果你已经有个在运行的复杂的系统,你的需求之一是在现有系统中添加检索服务。—种非常雪险的方式是重构系统以支持 ES。而相对安全的方式是∶将 ES 作为新的组件添加到现有系统中。如果你使用了如下图所示的 SQL 数据库和 ES 存储,你需要找到一种方式使得两种存储之间实时同步。需要根据数据的组成、数据库选择对应的同步插件。可供选择的插件包括∶mysql、oracle 选择 logstash-input-jdbc 插件。2)mongo 选择 mongo-connector 工具。


三、众多工具适配 ES

为什么那么多工具适配 Elasticsearch?

主要原因如下∶

1)Elasticsearch 是开源的。

2)Elasticsearch 提供了 JAVAAPI 接口。

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

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 学习笔记一
59 0
|
5月前
|
JavaScript 前端开发
ES6-01-简介
ES6-01-简介
27 1
|
6月前
|
Java
es 学习笔记
es 学习笔记
37 1
|
6月前
|
JavaScript 前端开发
|
6月前
|
JavaScript 前端开发 Java
ES6 简介
ES6 简介
|
6月前
|
数据可视化 开发工具 git
ES入门以及安装
ES入门以及安装
77 0
|
JavaScript
ES6 学习笔记二
ES6 学习笔记二
39 0
|
存储 JavaScript 前端开发
ES6快速入门
ES6快速入门
85 0
|
JavaScript 前端开发 编译器
ES6 从入门到精通 # 01:ES6 介绍
ES6 从入门到精通 # 01:ES6 介绍
124 0
ES6 从入门到精通 # 01:ES6 介绍