Elasticsearch的使用场景深入详解

Elasticsearch 最少必要知识实战教程直播回放

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

#1、场景—:使用Elasticsearch作为主要的后端
传统项目中,搜索引擎是部署在成熟的数据存储的顶部,以提供快速且相关的搜索能力。这是因为早期的搜索引擎不能提供耐用的​​存储或其他经常需要的功能,如统计。
这里写图片描述
Elasticsearch是提供持久存储、统计等多项功能的现代搜索引擎。
如果你开始一个新项目,我们建议您考虑使用Elasticsearch作为唯一的数据存储,以帮助保持你的设计尽可能简单。
此种场景不支持包含频繁更新、事务(transaction)的操作。

举例如下:新建一个博客系统使用es作为存储。
1)我们可以向ES提交新的博文;
2)使用ES检索、搜索、统计数据。

ES作为存储的优势:
如果一台服务器出现故障时会发生什么?你可以通过复制 数据到不同的服务器以达到容错的目的。
注意:
整体架构设计时,需要我们权衡是否有必要增加额外的存储。

#2、场景二:在现有系统中增加elasticsearch
由于ES不能提供存储的所有功能,一些场景下需要在现有系统数据存储的基础上新增ES支持。
这里写图片描述
举例1:ES不支持事务、复杂的关系(至少1.X版本不支持,2.X有改善,但支持的仍然不好),如果你的系统中需要上述特征的支持,需要考虑在原有架构、原有存储的基础上的新增ES的支持。

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

假设你的在线零售商店的产品信息存储在SQL数据库中。 为了快速且相关的搜索,你安装Elasticsearch。
为了索引数据,您需要部署一个同步机制,该同步机制可以是Elasticsearch插件或你建立一个自定义的服务。此同步机制可以将对应于每个产品的所有数据和索引都存储在Elasticsearch,每个产品作为一个document存储(这里的document相当于关系型数据库中的一行/row数据)。

当在该网页上的搜索条件中输入“用户的类型”,店面网络应用程序通过Elasticsearch查询该信息。 Elasticsearch返回符合标准的产品documents,并根据你喜欢的方式来分类文档。 排序可以根据每个产品的被搜索次数所得到的相关分数,或任何存储在产品document信息,例如:最新最近加入的产品、平均得分,或者是那些插入或更新信息。 所以你可以只使用Elasticsearch处理搜索。这取决于同步机制来保持Elasticsearch获取最新变化。

#3、场景三:使用elasticsearch和现有的工具
在一些使用情况下,您不必写一行代码就能通过elasticssearch完成一项工作。很多工具都可以与Elasticsearch一起工作,所以你不必到你从头开始编写。
例如,假设要部署一个大规模的日志框架存储,搜索,并分析了大量的事件。
如图下图,处理日志和输出到Elasticsearch,您可以使用日志记录工具,如rsyslog(www.rsyslog.com),Logstash(www.elastic.co/products/logstash),或Apache Flume(http://flume.apache.org)。
搜索和可视化界面分析这些日志,你可以使用Kibana(www.elastic.co/产品/ kibana)。
这里写图片描述
##为什么那么多工具适配Elasticsearch?主要原因如下:
1)Elasticsearch是开源的。
2)Elasticsearch提供了JAVA API接口。
3)Elasticsearch提供了RESTful API接口(不管程序用什么语言开发,任何程序都可以访问)
4)更重要的是,REST请求和应答是典型的JSON(JavaScript对象 符号)格式。通常情况下,一个REST请求包含一个JSON文件,其回复都 也是一个JSON文件。

——————————————————————————————————
更多ES相关实战干货经验分享,请扫描下方【铭毅天下】微信公众号二维码关注。
(每周至少更新一篇!)

这里写图片描述
和你一起,死磕Elasticsearch
——————————————————————————————————

作者:铭毅天下
转载请标明出处,原文地址:
http://blog.csdn.net/laoyang360/article/details/52227541
如果感觉本文对您有帮助,请点击‘顶’支持一下,您的支持是我坚持写作最大的动力,谢谢!

<p> <span style="color:#666666;font-size:14px;background-color:#FFFFFF;">【讲师介绍】<br />       现某知名大型互联网公司资深架构师,技术总监,职业规划师,面试官,曾在某上市培训机构,高校任教多年。<br />     Array老师 10多年互联网公司实战经验,知名的大型互联网公司的架构师,高管等职,在企业长期从事于技术的源码阅读和新技术的研究;从事面试官多年 。<br /> 技术选型<br /> 开发环境:Eclipse/Idea ,JDK 1.8及其以上 <br /> 后端技术<br /> 核心框架:SpringBoot2.x框架系列(同样适用Springcloud F版本以后的版本),如下(节选):    <br /> 持久层框架:RestHighLevelClient(官方推荐)<br /> 工具类:Apache Commons、Jackson 、fastjson、Gson<br /> 有四种不同的方式来产生JSON格式的文档(document)<br /> 手动方式,使用原生的byte[]或者String<br /> 使用Map方式,会自动转换成与之等价的JSON<br /> 使用第三方库来生成序列化beans,如JackJSON、FastJSON等<br /> 使用内置的帮助类XContentFactory.jsonBuilder()<br /> <br /> 前端技术  :<br /> ElasticSearch-head插件(NodeJs版本)<br /> 课程内容:<br /> springboot2.1.8+Es7.3.2的完美结合,让大数据PB级别的数据查询,瞬间展示和释放生产力;<br /> Es7.x(elasticsearch7.x)目前最新官方版本的集群搭建 <br /> 绚丽的可视化工具结合展示 <br /> 中文分词器让你搜索无忧,一次搞定新技术<br /> </span> </p> <p> <br /> </p> <p> 课程截图 </p> <p> <br /> </p> <p> <img src="https://img-bss.csdn.net/201909260449249479.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909260449426487.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909260453327299.png" alt="" /> </p> <p> <img src="https://img-bss.csdn.net/201909260454128125.png" alt="" /><img src="https://img-bss.csdn.net/201909260454259302.png" alt="" /><img src="https://img-bss.csdn.net/201909260454323952.png" alt="" /><img src="https://img-bss.csdn.net/201909260454395056.png" alt="" /><img src="https://img-bss.csdn.net/201909260454473650.png" alt="" /><img src="https://img-bss.csdn.net/201909260454584201.png" alt="" /> </p>
相关推荐
<p> <br /> </p> <p style="color:#333333;"> <strong>Elasticsearch 简介</strong> </p> <p style="color:#333333;"> ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。 </p> <p style="color:#333333;"> <br /> </p> <p style="color:#333333;"> <strong>elasticSearch使用场景</strong> </p> <p style="color:#333333;"> 1、在海量数据前提下,对数据进行检索。比如:京东,淘宝等电商项目 </p> <p style="color:#333333;"> <br /> </p> <p style="color:#333333;"> <strong>课程目标:</strong> </p> <p style="color:#333333;"> 1. 了解企业级搜索引擎 </p> <p style="color:#333333;"> 2. 安装elasticsearch {linux 系统} </p> <p style="color:#333333;"> 3. 安装kibana并利用kibana对Elasticsearch 索引中的数据进行搜索、查看、交互操作 </p> <p style="color:#333333;"> 4. 项目实战{ELK} </p> <p style="color:#333333;"> <br /> </p> <p style="color:#333333;"> <strong>课程目录:</strong> </p> <p style="color:#333333;"> 01 课程介绍<br /> 02 elasticsearch 简介<br /> 03 elasticsearch 使用场景<br /> 04 安装elasticsearch 之前先安装jdk<br /> 05 安装elasticsearch<br /> 06 测试elasticsearch是否安装成功 <br /> 07 安装kibana<br /> 08 elasticsearch 基本认识 以及添加索引和删除索引<br /> 09 elasticsearch 添加查询数据<br /> 10 elasticsearch 修改删除数据<br /> 11 elasticsearch 有条件的查询<br /> 12 分词子属性fuzzy查询<br /> 13 elasticsearch 过滤使用<br /> 14 elasticsearch 排序与分页<br /> 15 elasticsearch 如何查询指定的字段<br /> 16 elasticsearch 高亮显示<br /> 17 elasticsearch 聚合<br /> 18 elasticsearch mapping 概念<br /> 19 elasticsearch 的中文词库<br /> 20 elasticsearch 中文词库安装测试<br /> 21 elasticsearch 中文词库的使用案例<br /> 22 elasticsearch 自定义词库配置<br /> 23 安装nginx 配置中文词库<br /> 24 测试elasticsearch 自定义中文词库<br /> 25 搭建项目父工程<br /> 26 搭建项目bean-interface-common<br /> 27 搭建search 的service web 项目<br /> 28 测试项目是否能与elasticsearch联通<br /> 29 创建数据库并搭建首页<br /> 30 数据上传功能的实现类完成<br /> 31 数据上传控制器完成<br /> 32 dubbo 介绍以及安装zookeeper<br /> 33 将数据从mysql 上传到elasticsearch 中<br /> 34 elasticsearch查询功能分析<br /> 35 编写业务需求的dsl 语句<br /> 36 编写输入参数返回结果集的实体类<br /> 37 实现类编写<br /> 38 编写实现类中dsl 语句<br /> 39 返回集结果转换<br /> 40 结果测试<br /> 41 测试通过输入查询条件并将数据显示到页面 </p>
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页